تكون رموز وصول الصفحة والمستخدم الافتراضية قصيرة الأجل بحيث تنتهي صلاحيتها في غضون ساعات، ولكن يمكنك تبديل الرمز المميز قصير الأجل برمز مميز طويل الأجل.
عندما تستخدم مجموعة SDK لنظام iOS أو Android أو JavaScript، ستعمل مجموعة SDK على تحديث الرموز المميزة تلقائيًا إذا استخدم الشخص تطبيقك خلال آخر 90 يومًا. وستحصل تطبيقات الهواتف المحمولة الأصلية التي تستخدم مجموعات SDK في فيسبوك رموز وصول المستخدم طويلة الأجل والصالحة لمدة 60 يومًا تقريبًا. يتم تحديث هذه الرموز المميزة مرة واحدة يوميًا عندما يرسل شخص يستخدم تطبيقك طلبًا إلى خوادم فيسبوك. وفي حالة عدم إرسال أي طلبات، ستنتهي صلاحية الرمز المميز بعد مرور حوالي 60 يومًا وسيتعين على الشخص إجراء خطوات دفق تسجيل الدخول مرة أخرى للحصول على رمز مميز جديد.
آخر إصدار من واجهة Graph API: v21.0
إذا كنت بحاجة إلى رمز وصول مستخدم طويل الأجل، يمكنك إنشاء رمز وصول واحد من رمز وصول المستخدم قصير الأجل. تستمر صلاحية الرمز المميز طويل الأجل عادةً لما يقرب من 60 يومًا.
ستحتاج إلى ما يلي:
يمكنك الاستعلام عن نقطة النهاية GET oauth/access_token
.
curl -i -X GET "https://graph.facebook.com/{graph-api-version}/oauth/access_token? grant_type=fb_exchange_token& client_id={app-id}& client_secret={app-secret}& fb_exchange_token={your-access-token}"
{ "access_token":"{long-lived-user-access-token}", "token_type": "bearer", "expires_in": 5183944 //The number of seconds until the token expires }
يكون دفق العمل لإنشاء رمز وصول المستخدم طويل الأجل كما يلي:
بمجرد استرداد الرمز المميز طويل الأجل، يمكنك استخدامه من خادمك أو إعادة إرساله إلى العميل لاستخدامه هناك.
لا يمكنك استخدام رمز منتهي الصلاحية لطلب رمز طويل الأجل. إذا انتهت صلاحية الرمز المميز، يجب أن يرسل تطبيقك مرة أخرى إلى المستخدم من خلال دفق تسجيل الدخول لإعادة إنشاء رمز وصول قصير الأجل جديد.
قم بإجراء هذا الاستدعاء من الخادم وليس من جانب البرنامج. يتم تضمين المفتاح السري لتطبيقك في استدعاء واجهة API هذا، لذا ينبغي ألا تقوم بإجراء الطلب من جانب العميل. وبدلاً من ذلك، قم بتنفيذ الرمز الذي يرسل الطلب من جانب الخادم، ثم قم بتمرير الاستجابة التي تحتوي على الرمز المميز طويل الأجل مرة أخرى إلى الرمز من جانب العميل. وتكون هذه سلسلة مختلفة عن الرمز المميز الأصلي، لذا إذا كنت تقوم بتخزين هذه الرموز المميزة، فاستبدل الرمز المميز القديم.
لا تستخدم الرموز طويلة الأجل نفسها على أكثر من عميل ويب (أي إذا سجل الشخص الدخول من أكثر من جهاز كمبيوتر واحد). وبدلاً من ذلك، يجب عليك استخدام الرموز المميزة طويلة الأجل على خادمك لإنشاء رمز برمجي، ثم استخدام هذا الرمز البرمجي للحصول على رمز مميز طويل الأجل بالعميل. يُرجى الاطلاع على ما يلي للحصول على معلومات حول إنشاء رموز طويلة الأجل من خلال رموز طويلة الأجل من جانب الخادم.
إذا كنت بحاجة إلى رمز وصول الصفحة طويل الأجل، يمكنك إنشاء رمز وصول من رمز وصول المستخدم طويل الأجل. لم يتم تحديد تاريخ انتهاء صلاحية لرمز وصول الصفحة طويل الأجل، ولا تنتهي صلاحيته أو يكون غير صالح إلا في ظروف معينة.
ستحتاج إلى ما يلي:
يمكنك الاستعلام عن نقطة النهاية GET {app-scoped-user-id}?accounts
.
curl -i -X GET "https://graph.facebook.com/{graph-api-version}/{app-scoped-user-id}/accounts? access_token={long-lived-user-access-token}"
{ "data":[ { "access_token":"{long-lived-page-access-token}", "category":"Brand", "category_list":[ { "id":"1605186416478696", "name":"Brand" } ], "name":"Cute Kitten Page", "id":"{page-id}", "tasks":[ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ], "paging":{ "cursors":{ "before":"MTM1MzI2OTg2NDcyODg3OQZDZD", "after":"MTM1MzI2OTg2NDcyODg3OQZDZD" } } }
يوفر فيسبوك خيارًا للحصول على رموز الوصول طويلة الأجل للتطبيقات من أجل تجنب تشغيل أنظمة المحتوى غير المهم أو الاحتيالي المؤتمتة على فيسبوك. التطبيقات التي:
على مستوى عال، يمكنك الحصول على رمز مميز طويل الأجل للعميل بالطرق التالية:
يمكنك الاستعلام عن نقطة النهاية GET oauth/client_code
. يجب أن يكون محدد URI لإعادة التوجيه بالقيمة نفسها التي قمت بتعيينها في لوحة معلومات التطبيق ضمن البطاقة تسجيل دخول فيسبوك > عميل الإعدادات > إعدادات OAuth.
curl -i -X GET "https://graph.facebook.com/{graph-api-version}/oauth/client_code? client_id={app-id}& client_secret={app-secret}& redirect_uri={app-redirect-uri}& access_token={long-lived-user-access-token}"
{ "code":"{code-for-your-client}" }
بمجرد استرداد الرمز البرمجي من خادم فيسبوك، من ثمّ ستحتاج إلى نقله إلى العميل عبر قناة آمنة. وبمجرد إجراء ذلك، يجب إرسال طلب من العميل إلى نقطة النهاية /oauth/access_token
:
curl -i -X GET "https://graph.facebook.com/{graph-api-version}/oauth/access_token? code={code-for-your-client}& client_id={app-id}& redirect_uri={app-redirect-uri}& machine_id= {your-client-machine-id}"
يُعد machine_id
معلمة اختيارية تحدد العملاء وتتبعهم ويتم استخدامها لضمان الأمان والحماية من المحتوى غير المهم أو الاحتيالي. ويمثل قيمة حسب العميل وليس حسب المستخدم. إذا أجريت استدعاءات مسبقًا للحصول على رمز وتلقيت machine_id
، فيجب تضمينه في طلب الحصول على الرمز.
{ "access_token":"{long-lived-access-token}", "expires_in":5183944, //The number of seconds until the token expires "machine_id":"{your-client-machine-id}" }
يكون سير العمل لإنشاء رمز طويل الأجل كما يلي: