
Hinge Dating App SDK für Python für einsame gelangweilte SWEs
Inoffizielles Python SDK für die Hinge-API. Interagiere programmatisch mit Hinge, um Empfehlungen abzurufen, Nachrichten zu senden, Medien herunterzuladen und Interaktionen zu automatisieren.
Um dieses SDK zu verwenden, benötigst du gültige Authentifizierungsdaten. Du kannst sie in einer .env-Datei speichern oder direkt an den Client übergeben.
BEARER_TOKEN: Dein JWT-Authentifizierungstoken (z. B. L2euNWN...).SESSION_ID: Die aktuelle Session-UUID.USER_ID: Deine eindeutige Benutzer-/Spieler-ID.Wenn du dein bestehendes Hinge-Konto nutzen möchtest, ohne Risiken durch Anmeldungen von neuen Geräten einzugehen, musst du diese Werte aus dem Netzwerkverkehr der App extrahieren.
Hinweis: Du musst dies nur einmal tun, um die korrekten Variablen zu erhalten. Nachdem du sie erfasst hast, kannst du für zukünftige Sitzungen die SMS-Anmeldemethode verwenden.
prod-api.hingeaws.net oder ähnliche Hinge-Endpunkte.authorization (Bearer-Token)x-session-idx-device-idx-install-idUser ID (oft im Antworttext als subjectId oder ähnlich)Du kannst neue Anmeldedaten generieren, indem du dich über das SDK per SMS anmeldest. Dies führt einen frischen Anmeldevorgang durch.
from hingesdk.client import HingeClient
# These IDs must match the actual values associated with your account.
# You cannot use random UUIDs; they must align with the account's registered device.
client = HingeClient.login_with_sms(
phone_number="+15551234567",
device_id="your_device_id_uuid",
install_id="your_install_id_uuid"
)
print(f"BEARER_TOKEN={client.auth_token}")
print(f"SESSION_ID={client.session_id}")
print(f"USER_ID={client.user_id}")
Klone das Repository und installiere das Paket:
git clone https://github.com/reedgraff/hingesdk
cd hingesdk
pip install .
Hier ist ein minimales Beispiel zur Authentifizierung und zum Abrufen von Benutzerempfehlungen.
import os
from hingesdk.api import HingeAPIClient
# Initialize with credentials
client = HingeAPIClient(
auth_token=os.getenv("BEARER_TOKEN"),
session_id=os.getenv("SESSION_ID"),
user_id=os.getenv("USER_ID")
)
# Fetch recommendations
recs = client.get_recommendations()
print(f"Successfully fetched recommendations request.")
from hingesdk.client import HingeAPIClient
auth_token = 'your_auth_token'
user_id = 'your_user_id'
client = HingeAPIClient(auth_token=auth_token, user_id=user_id)
response = client.send_message(
subject_id='receiver_id',
message='Hello, this is a test message!'
)
print(response)
from hingesdk.api import HingeAPIClient
client = HingeAPIClient(auth_token=auth_token, user_id=user_id)
recommendations = client.get_recommendations()
print(recommendations)
from hingesdk.tools import HingeTools
from hingesdk.api import HingeAPIClient
from hingesdk.media import HingeMediaClient
api_client = HingeAPIClient(auth_token=auth_token, user_id=user_id)
media_client = HingeMediaClient(auth_token=auth_token)
tools = HingeTools(api_client, media_client)
tools.download_recommendation_content(output_path='path_to_save_images')
import os
import json
from hingesdk.tools import HingeTools
from hingesdk.api import HingeAPIClient
from hingesdk.media import HingeMediaClient
auth_token = os.getenv("BEARER_TOKEN")
session_id = os.getenv("SESSION_ID")
user_id = os.getenv("USER_ID")
api_client = HingeAPIClient(
auth_token=auth_token,
session_id=session_id,
user_id=user_id
)
media_client = HingeMediaClient(auth_token=auth_token)
tools = HingeTools(api_client, media_client)
# Example: Get user info
tools.create_profile_json(
source=ProfileSource.STANDOUTS,
output_file="standouts.json"
)
# Example: Like a user
with open("standouts.json", "r") as f:
profiles = json.load(f)
personData = profiles["35582109789..."]
# Like a user's question
questionIDToLike = "5c4a346828fd883a24..."
response = api_client.like_profile(
subject_id=personData["interaction_data"]["subject_id"],
rating_token=personData["interaction_data"]["rating_token"],
prompt={
"questionId": questionIDToLike,
"response": "I've been in Miami for a year and still haven't gone (╥﹏╥)"
}
)
print(response)
# Like a user's photo
# photoIDToLike = "2c6411ac-66e4-4194-..."
# response = api_client.like_profile(
# subject_id=personData["interaction_data"]["subject_id"],
# rating_token=personData["interaction_data"]["rating_token"],
# photo={
# "contentId": photoIDToLike,
# "comment": "So how many people have commented saying they've been here before?"
# }
# )
# print(response)
This example demonstrates how to scrape recommendations and filter profiles based on specific criteria (e.g., top universities).