FB Graphapi: النشر على جدار صفحة FB من موقع ويب آخر

StackOverflow https://stackoverflow.com/questions/4609179

  •  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 ، هناك بعض الخطوات للقيام بذلك:

  1. يحتاج مسؤول الصفحة إلى تثبيت التطبيق الخاص بك بإذن manage_pages, المرجعي. و publish_stream للخطوة 3
  2. الآن الاستعلام عن طريقة الحسابات ->api('/me/accounts?access_token=XXX') مع Access_token ، ستحصل للتو على استرداد جميع صفحاتك (الحسابات) مع Access_Token المقابلة
  3. استخدم الصفحة Access_Token بريد "أخبارك" على صفحتك ->api('/page_id/feed', 'post', $postArr)

نفس التعليمات متوفرة تقريبا هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top