Adding a tab to a fan page does not work… error: (#210) Subject must be a page

喜欢而已 提交于 2020-01-06 14:18:15

问题


I'm trying to add a tab to a fanpage using the graph api/PHP SDK and I'm receiving an error :

(#210) Subject must be a page

I've tried using both the user access_token AND the page access_token but neither work. I've tried using the page id of numerous accounts and still no go. Here is my code:

<?php

$path="/PAGE_ID/tabs/";
$access_token="ACCESS_TOKEN";
$params = array(
     'app_id' => "APP_ID",
     'access_token' => $access_token
);
try{
        $install = $facebook->api($path, "POST", $params);
}catch (FacebookApiException $o){
        print_r($o);
}
?>

And here is the error I get:

FacebookApiException Object
(
    [result:protected] => Array
        (
            [error] => Array
                (
                    [message] => (#210) Subject must be a page.
                    [type] => OAuthException
                )

       )

[message:protected] => (#210) Subject must be a page.
[string:Exception:private] => 
[code:protected] => 0

Thanks for any help you can provide!


回答1:


If you are not limited to using the API to add your application to your page then you can follow the instructions provided by Facebook at this link :
https://developers.facebook.com/docs/reference/dialogs/add_to_page/

Essentially you can use a dialog ( see the link above ) or this direct URL to add tab apps to your page :
https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&display=popup&next=YOUR_URL

Dont forget to substitute APP_ID for your app id and next for a different URL




回答2:


API Call is atm bugged: https://developers.connect.facebook.com/bugs/149252845187252?browse=search_4f31da351c4870e34879109

But here is a solution for JS: OAuthException "(#210) Subject must be a page." - just do not use the library and do your own call.

I did it with PHP:

<?php
  $url = 'https://graph.facebook.com/<PAGE ID>/tabs?app_id=<APP ID>&method=POST&access_token=<PAGE ACCESS TOKEN>&callback=test';

  $ch = curl_init();
  curl_setopt($ch,CURLOPT_URL,$url);
  $result = curl_exec($ch);
  curl_close($ch);
  echo $result;
?>

Echo value should be something like "test(true)".



来源:https://stackoverflow.com/questions/9061296/adding-a-tab-to-a-fan-page-does-not-work-error-210-subject-must-be-a-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!