FB Graphapi: النشر على جدار صفحة FB من موقع ويب آخر
-
25-09-2019 - |
سؤال
أقوم بإنشاء CMS لموقع ويب ، وأريد إضافة وظائف لنشر شيء ما (على سبيل المثال: الأخبار) إلى صفحة FB الخاصة بهذا الموقع [وليس إلى ملف تعريف المستخدم].
لقد قرأت وثائق FB ، ويمكنك معرفة أنني بحاجة إلى تطبيق FB ، والذي يجب أن يكون لديه الوصول إلى تلك الصفحة. ثم سأتمكن من المصادقة من موقع الويب الخاص بي كتطبيق ونشر الرابط على الصفحة.
لقد قمت بإنشاء نموذج صفحة ، و فارغة التطبيق (لا رمز عمل). ثم أنا وأضاف في الصفحة [في صفحة ملف تعريف التطبيق ، يوجد زر "إضافة إلى صفحتي"]. لم يطلب التطبيق أي أذونات ، وفي الواقع ، لا أعرف كيف يمكنني "إجبار" تطبيقي على طلب أذونات من الصفحة ...
الآن ، من الخادم الخاص بي ، أقوم المصادقة بتطبيق:
$postArr = Array(
'grant_type'=>'client_credentials',
'scope'=>'publish_stream',
'client_id'=>$appId,
'client_secret'=>$appSecret
);
$access_token = CURL_post('https://graph.facebook.com/oauth/access_token',$postArr,true);
أحصل على رمز وصول ، وأحاول النشر إلى جدار الصفحة:
$postArr = Array(
'access_token'=>$access,
'message'=>"Message!",
'link'=>'http://egern.net/',
'name'=>"TITLE",
'caption'=>"TITLE2!");
$r = CURL_post("https://graph.facebook.com/MYPAGEID/feed",$postArr,true);
أحصل على خطأ يتبع: (#200) لم يصرح المستخدم التطبيق بتنفيذ هذا الإجراء
الآن لا أستطيع أن أفهم: كيف يجب أن تسمح الصفحة بالتطبيق؟
شكرًا.
المحلول
لتكون قادرًا على النشر على صفحتك باستخدام Graph API ، هناك بعض الخطوات للقيام بذلك:
- يحتاج مسؤول الصفحة إلى تثبيت التطبيق الخاص بك بإذن
manage_pages
, المرجعي. وpublish_stream
للخطوة 3 - الآن الاستعلام عن طريقة الحسابات
->api('/me/accounts?access_token=XXX')
مع Access_token ، ستحصل للتو على استرداد جميع صفحاتك (الحسابات) مع Access_Token المقابلة - استخدم الصفحة Access_Token بريد "أخبارك" على صفحتك
->api('/page_id/feed', 'post', $postArr)
نفس التعليمات متوفرة تقريبا هنا.