【问题标题】:Adding a tab to a fan page does not work... error: (#210) Subject must be a page向粉丝页面添加标签不起作用...错误:(#210)主题必须是页面
【发布时间】:2012-02-22 02:16:57
【问题描述】:

我正在尝试使用图形 api/PHP SDK 向粉丝页面添加一个标签,但我收到一个错误:

(#210) Subject must be a page

我已经尝试同时使用这两种方法用户access_token 和页面access_token 但都不起作用。我已经尝试使用多个帐户的页面 ID,但仍然没有成功。这是我的代码:

<?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);
}
?>

这是我得到的错误:

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

感谢您提供的任何帮助!

【问题讨论】:

  • 它是 340394102638706。该页面已发布并严格用于测试。
  • 使用 API 是一项要求,还是您只是试图将您的应用添加到您的页面?
  • 任何将标签发布到粉丝页面的方法都可以。到目前为止,我只研究了 PHP SDK。此外,尝试使用 URL 请求,但这也不起作用:“graph.facebook.com/PAGE_ID/…
  • FB API 仍然存在漏洞 - 您无法通过 API-Call 将应用添加到粉丝专页...这是票证。 developers.connect.facebook.com/bugs/…

标签: facebook-graph-api coding-style facebook-php-sdk facebook-page


【解决方案1】:

如果您不限于使用 API 将应用程序添加到您的页面,那么您可以按照 Facebook 在此链接中提供的说明进行操作:
https://developers.facebook.com/docs/reference/dialogs/add_to_page/

本质上,您可以使用对话框(请参阅上面的链接)或此直接 URL 将标签应用程序添加到您的页面:
https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&display=popup&next=YOUR_URL

不要忘记将 APP_ID 替换为您的应用 ID,并将 next 替换为不同的 URL

【讨论】:

  • 仍在努力。直接 URL 方法失败,出现错误“发生错误。请稍后重试。”接下来将尝试 javascript sdk。
  • 你配置你的page tab URLsecure page tab URL了吗?
  • 是的。我的其他应用程序具有类似的设置,并且使用问题应用程序我仍然可以检索与 manage_pages 权限相关的其他信息
【解决方案2】:

API 调用被 atm 窃听:https://developers.connect.facebook.com/bugs/149252845187252?browse=search_4f31da351c4870e34879109

但这里有一个 JS 的解决方案:OAuthException "(#210) Subject must be a page." - 只是不要使用该库并自己调用。

我用 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;
?>

回声值应该类似于“test(true)”。

【讨论】:

    猜你喜欢
    • 2014-07-08
    • 2012-01-13
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    相关资源
    最近更新 更多