
SDK de l'application de rencontres Hinge pour python pour les ingénieurs logiciels solitaires et ennuyés.
SDK Python non officiel pour l'API Hinge. Interagissez par programmation avec Hinge pour récupérer des recommandations, envoyer des messages, télécharger des médias et automatiser des interactions.
Pour utiliser ce SDK, vous avez besoin d'informations d'authentification valides. Vous pouvez les stocker dans un fichier .env ou les transmettre directement au client.
BEARER_TOKEN : Votre jeton d'authentification JWT (par ex., L2euNWN...).SESSION_ID : L'UUID de la session actuelle.USER_ID : Votre identifiant unique d'utilisateur/joueur.Si vous souhaitez utiliser votre compte Hinge existant sans risquer d'être signalé par les connexions depuis un nouvel appareil, vous devez extraire ces valeurs du trafic réseau de l'application.
Remarque : Vous n'avez besoin de le faire qu'une seule fois pour obtenir les bonnes variables. Une fois celles-ci capturées, vous pouvez utiliser la méthode de connexion par SMS pour les sessions futures.
prod-api.hingeaws.net ou des points de terminaison Hinge similaires.authorization (jeton Bearer)x-session-idx-device-idx-install-idUser ID (souvent dans le corps de la réponse sous subjectId ou similaire)Vous pouvez générer de nouveaux identifiants en vous connectant via SMS par l'intermédiaire du SDK. Cela effectue un nouveau flux de connexion.
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}")
Clonez le dépôt et installez le package :
git clone https://github.com/reedgraff/hingesdk
cd hingesdk
pip install .
Voici un exemple minimal pour s'authentifier et récupérer des recommandations d'utilisateurs.
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)
Cet exemple montre comment extraire des recommandations et filtrer les profils en fonction de critères spécifiques (par exemple, les meilleures universités).