
SDK de la aplicación de citas Hinge para python para ingenieros de software solitarios y aburridos
SDK no oficial de Python para la API de Hinge. Interactúa programáticamente con Hinge para obtener recomendaciones, enviar mensajes, descargar contenido multimedia y automatizar interacciones.
Para usar este SDK, necesitas credenciales de autenticación válidas. Puedes almacenarlas en un archivo .env o pasarlas directamente al cliente.
BEARER_TOKEN: Tu token de autenticación JWT (por ejemplo, L2euNWN...).SESSION_ID: El UUID de la sesión actual.USER_ID: Tu identificador único de usuario/reproductor.Si deseas usar tu cuenta existente de Hinge sin arriesgarte a que se marque por inicios de sesión desde nuevos dispositivos, debes extraer estos valores del tráfico de red de la aplicación.
Nota: Solo necesitas hacer esto una vez para obtener las variables correctas. Después de capturarlas, puedes usar el método de inicio de sesión por SMS para sesiones futuras.
prod-api.hingeaws.net o endpoints similares de Hinge.authorization (token Bearer)x-session-idx-device-idx-install-idUser ID (a menudo en el cuerpo de la respuesta como subjectId o similar)Puedes generar nuevas credenciales iniciando sesión mediante SMS a través del SDK. Esto realiza un flujo de inicio de sesión nuevo.
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}")
Clona el repositorio e instala el paquete:
git clone https://github.com/reedgraff/hingesdk
cd hingesdk
pip install .
Aquí hay un ejemplo mínimo para autenticarse y obtener recomendaciones de usuarios.
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)
Este ejemplo muestra cómo extraer recomendaciones y filtrar perfiles según criterios específicos (por ejemplo, las mejores universidades).