
SDK تطبيق Hinge للمواعدة للغة بايثون للمهندسين البرمجيين الوحيدين والملولين
SDK بايثون غير رسمي لواجهة برمجة تطبيقات Hinge. تفاعل برمجيًا مع Hinge لجلب التوصيات، وإرسال الرسائل، وتنزيل الوسائط، وأتمتة التفاعلات.
لاستخدام هذا SDK، تحتاج إلى بيانات اعتماد مصادقة صالحة. يمكنك تخزينها في ملف .env أو تمريرها مباشرة إلى العميل.
BEARER_TOKEN: رمز مصادقة JWT الخاص بك (مثال: L2euNWN...).SESSION_ID: UUID الجلسة الحالية.USER_ID: معرف المستخدم/اللاعب الفريد الخاص بك.إذا كنت تريد استخدام حساب Hinge الحالي دون المخاطرة بوضع علامات من تسجيلات الدخول من جهاز جديد، يجب عليك استخراج هذه القيم من حركة مرور الشبكة للتطبيق.
ملاحظة: تحتاج إلى القيام بذلك مرة واحدة فقط للحصول على المتغيرات الصحيحة. بعد التقاطها، يمكنك استخدام طريقة تسجيل الدخول عبر SMS للجلسات المستقبلية.
prod-api.hingeaws.net أو نقاط نهاية Hinge المشابهة.authorization (رمز Bearer)x-session-idx-device-idx-install-idUser ID (غالبًا ما يكون في جسم الرد كـ subjectId أو ما شابه)يمكنك إنشاء بيانات اعتماد جديدة عن طريق تسجيل الدخول عبر SMS من خلال SDK. يؤدي ذلك إلى إجراء عملية تسجيل دخول جديدة.
from hingesdk.client import HingeClient
# يجب أن تتطابق هذه المعرفات مع القيم الفعلية المرتبطة بحسابك.
# لا يمكنك استخدام UUIDs عشوائية؛ يجب أن تتماشى مع الجهاز المسجل للحساب.
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}")
استنسخ المستودع وقم بتثبيت الحزمة:
git clone https://github.com/reedgraff/hingesdk
cd hingesdk
pip install .
فيما يلي مثال بسيط للمصادقة وجلب توصيات المستخدم.
import os
from hingesdk.api import HingeAPIClient
# التهيئة ببيانات الاعتماد
client = HingeAPIClient(
auth_token=os.getenv("BEARER_TOKEN"),
session_id=os.getenv("SESSION_ID"),
user_id=os.getenv("USER_ID")
)
# جلب التوصيات
recs = client.get_recommendations()
print(f"تم جلب طلب التوصيات بنجاح.")
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='مرحبًا، هذه رسالة اختبار!'
)
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)
# مثال: الحصول على معلومات المستخدم
tools.create_profile_json(
source=ProfileSource.STANDOUTS,
output_file="standouts.json"
)
# مثال: إعجاب مستخدم
with open("standouts.json", "r") as f:
profiles = json.load(f)
personData = profiles["35582109789..."]
# إعجاب سؤال مستخدم
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)
# إعجاب صورة مستخدم
# 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)
يوضح هذا المثال كيفية كشط التوصيات وتصفية الملفات الشخصية بناءً على معايير محددة (مثل أفضل الجامعات).