错误:尝试在用户Feed中发帖时,需要用户访问令牌才能请求此资源

时间:2012-12-26 08:00:51

标签: php facebook facebook-graph-api facebook-javascript-sdk

问题-1

我想发布在用户的墙上,但有时我会收到:要求此资源需要用户访问令牌。

这是我做的:

$access_token = $facebook->getAccessToken();
$facebook->setAccessToken($access_token);


$params = array(
                'access_token'  =>  $access_token,
                'link'          =>  "http://www.facebook.com/PaginaRomanilor?sk=app_".APP_ID,
                'message'       =>  $caption." - Amuză-ți și tu prietenii cu aplicația întrebări pentru prieteni.",
                'name'          =>  $caption,
                'description'   =>  'Răspuns: '.ucfirst($raspuns).'. '.$mesaj,
                'caption'       =>  'TS',
                'picture'       =>  LINK."images/".$raspuns.".png",
                'tags'          => $friendpost['uid'],
                'place'         => 155021662189
            );

        if(!($sendMessage = $facebook->api('/me/feed/','post',$params))){
            $errors= error_get_last();
            echo "Facebook publish error: ".$errors['type'];
            echo "<br />\n".$errors['message'];
        }

当我个人使用该应用程序时,我没有收到错误,只有部分用户收到错误。

问题-2

在链接中,我提供了指向我页面的链接。该标题将被忽略,并由 Page:7,726替换。

但我想在那篇帖子中给出自定义标题。

更新

用户访问令牌错误不是来自这部分代码,而是来自选择好友数据库,所以我在那里解决了,我现在遇到的问题是我的自定义标题被禁用并被链接中的页面替换。

1 个答案:

答案 0 :(得分:0)

当用户登录您的应用程序并授权其执行特定任务时,您将获得用户访问令牌。你也可以要求扩展访问令牌: -

$facebook->setExtendedAccessToken();

代表用户在他/她缺席的情况下完成任务。

关于你的第二个问题,关于Facebook如何解析传递给它的链接存在一些特殊问题。每当它是来自Facebook域的URL时,它会覆盖一些参数,禁用一些参数并添加一些值。页面选项卡应用程序链接就是这种情况,它从它们所在的页面获取喜欢计数。

虽然有一种方法可以让您根据自己的喜好获得结果,但可以使用任何网址缩短服务缩短网址,例如bit.ly