我正在Facebook上开发一个应用程序,但我遇到了一些问题。基本上,在用户赢得游戏后,我会要求他将他的成功发布在他的墙上(比如"看!我赢了比赛!用游戏的名字玩这个游戏!" ->这是以下代码的罗马尼亚语位的翻译)。我正在使用以下代码:
if ($raspuns == "Yer Blues") {
回声("太棒了!啧!Intoarce-te saptamana viitoare cand se va posta un alt set de melodii!");
$access_token = $facebook->getAccessToken();
$wall_post = array('message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',
'name' => 'Campion Ghiceste Melodia', 'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!", 'link' => 'https://apps.facebook.com/revistafloyd/', 'description' => 'Revista Floyd este o revista despre muzica rock.', );
$result = $facebook->api('/me/feed/', 'post', $wall_post);
}
但是每当用户输入正确答案时,我都会收到此消息:
致命错误:未捕获 OAuth异常:必须使用活动访问令牌来查询有关当前用户的信息。 在第 1106 行扔进/home/pasarel/public_html/face/src/base_facebook.php
为什么?我提到我同时拥有用户和应用程序访问令牌,那么有什么问题?我在某处读到它可能缺少"会话"部分(这里:http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/)。这可能是答案吗?我该如何解决?
更改此内容
$wall_post = array('message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',
'name' => 'Campion Ghiceste Melodia',
'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",
'link' => 'https://apps.facebook.com/revistafloyd/',
'description' => 'Revista Floyd este o revista despre muzica rock.',
);
对此
$wall_post = array('access_token' => $access_token ,
'message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',
'name' => 'Campion Ghiceste Melodia',
'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",
'link' => 'https://apps.facebook.com/revistafloyd/',
'description' => 'Revista Floyd este o revista despre muzica rock.',
);
更新
尝试更改此设置
$WallPost = array(
'access_token' => $access_token,
'message' => $message,
'link' => $link,
'name' => $name,
'caption' => $caption,
'description' => $description);
$response = $facebook->api('/me' . '/feed','POST',$WallPost);