/api/v4/connected-accounts/connect-facebookربط حساب Facebook
يُرجع عنوان URL لـ OAuth لربط حساب Facebook Pages بحسابك في Listings API.
المعلمات
النص الأساسي
| الاسم | النوع | مطلوب | الوصف |
|---|---|---|---|
| input | object | مطلوب | Wrapper object. The entire request body must be nested under `input`. |
| input.successUrl | string | مطلوب | URL the user is redirected to after they successfully authorize Facebook. Must be an absolute https URL you control. |
| input.errorUrl | string | مطلوب | URL the user is redirected to if they cancel or the authorization fails. Must be an absolute https URL you control. |
مثال على الطلب
نص جاهز للصق. استبدل المعرّفات والقيم النموذجية بقيمك.
{ "input": { "successUrl": "https://listingsapi.com/docs/api/connected-accounts-trigger-matches", "errorUrl": "https://listingsapi.com/docs/api/connected-accounts-connect-facebook" }}الاستجابات
200OAuth URL generated successfully. Redirect the user to `url` to begin the Facebook authorization flow. The `url` shown is a placeholder; send the user to the `url` returned in your own response.
{ "data": { "bulkConnectLinkForFacebook": { "errors": null, "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-..." } }}400Bad request, the body was not wrapped in `input`, or `successUrl`/`errorUrl` was omitted (error message: `Variable "$input" of required type "FacebookOauthBulkInput!" was not provided`).
401Unauthenticated, missing or invalid API key.
يُنشئ عنوان URL قصير الصلاحية لـ OAuth يزوره المستخدم لتفويض Listings API بإدارة صفحاته على Facebook بشكل جماعي. أعد توجيه المستخدم إلى url المُرجَع؛ وخلال هذه العملية، يطّلع المستخدم على شروط Facebook ويوافق عليها ويمنح أذونات إدارة الصفحات التي يحتاجها Listings API. يظل الرابط صالحًا لمدة 24 ساعة.
بنية الطلب. يجب تغليف جسم الطلب بكائن input يحتوي على حقلين مطلوبين، هما successUrl وerrorUrl. وهما عنوانا URL مطلقان بالبروتوكول https، يُعاد المستخدم إلى أحدهما بعد إكمال عملية التفويض على Facebook (أو التخلي عنها)؛ مرّر نقطتي نهاية في تطبيقك تستأنفان عملية الإعداد عند النجاح وتتيحان إعادة المحاولة عند حدوث خطأ. لا يوجد حقل accountId، ويقتصر نطاق رابط الربط دائمًا على الحساب الذي يملك مفتاح API، ويُرفض إرسال accountId (أو جسم طلب مسطّح غير مغلّف) بحالة HTTP 400.
هذه نظيرة نقطة النهاية connect-google لحسابات Facebook، وهي الخطوة الأولى في سير عمل الربط الجماعي. بعد منح التفويض، يظهر الحساب في GET /connected-accounts مع connectedAccountId يُستخدم للمطابقة والمزامنة.
حالة استخدام: إعداد صفحات عميل على Facebook. بعد أن يمنح العميل إذن الوصول إلى Facebook، أعد توجيهه إلى url المُرجَع. عند انتهائه، شغّل POST /connected-accounts/trigger-matches، وراجع النتائج باستخدام GET /connected-accounts/{connectedAccountId}/connection-suggestions، وأكّد الاقترانات عبر POST /connected-accounts/confirm-matches حتى تبدأ مزامنة بيانات صفحة Facebook مع المواقع المطابقة في Listings API.
حالة استخدام: إعادة التفويض بعد رفض الأذونات. إذا تخطّى المستخدم إذنًا مطلوبًا في Facebook، فلن يتمكن الاتصال من إجراء المزامنة. أصدر الرابط من جديد واطلب منه إعادة التفويض مع منح جميع الأذونات.
بالنسبة إلى Google، استخدم نقطة النهاية connect-google. يشير success: true مع قيمة غير null في url إلى أن الرابط أُنشئ؛ ولا يُملأ errors إلا عند فشل الإنشاء.
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/connect-facebook' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "successUrl": "https://listingsapi.com/docs/api/connected-accounts-trigger-matches", "errorUrl": "https://listingsapi.com/docs/api/connected-accounts-connect-facebook" } }'