试图使用应用程序发布到facebook页面,但得到;用户没有';t授权应用程序执行此操作“;
我正试图写一个脚本,将更新后的facebook页面的时间线。我创建了一个应用程序,并为该应用程序创建了一个密钥。我使用的代码如下:试图使用应用程序发布到facebook页面,但得到;用户没有';t授权应用程序执行此操作“;,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我正试图写一个脚本,将更新后的facebook页面的时间线。我创建了一个应用程序,并为该应用程序创建了一个密钥。我使用的代码如下: require_once HOME_PATH . '/include/facebook/facebook.php'; $facebook = new Facebook(array( 'appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_APP_SECRET, 'cookie' => tru
require_once HOME_PATH . '/include/facebook/facebook.php';
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_APP_SECRET,
'cookie' => true,
'scope' => 'publish_stream',
));
$user_id = $facebook->getUser();
$access_token = $facebook->getAccessToken();
$attachment = array(
'access_token' => $access_token,
'message' => 'this is my message',
'name' => 'name',
'link' => ROOT_URL . $blog_data['url'] . '.htm',
'caption' => $blog_data['title'],
'description' => $blog_data['title'],
);
if ($image = get_first_image($blog_data['body'])) {
$attachment['picture'] = $image;
}
$facebook->api(FACEBOOK_BLOG_PAGE . '/feed', 'post', $attachment);
我认为这个密钥连接到应用程序,而不是我的用户,所以听起来我必须在facebook上授予权限,但我看到其他一些帖子告诉我,我需要用代码来完成这项工作。这些例子不是很清楚
我知道有人问过类似的问题,但我还没有看到任何明确的答案。有人能澄清一下吗?如果你想通过这段代码获取用户id:
$user\u id=$facebook->getUser()代码>
首先,您需要通过$facebook->getLoginUrl(array('scope'=>array('perm','perm2'))
返回的URL登录用户
另外,请注意,我将权限放在哪里,这是我所需要的。不是进入Facebook类构造函数,而是进入方法getLoginUrl
最后,要发布到页面中,您需要publish\u actions
权限(而不是publish\u stream
)。看起来您还没有完成OAuth舞蹈。您需要这样做。所以它必须直接授权给我的用户?这是否意味着我必须在php代码中存储我的用户密码?似乎我可以在开发者网站上为我的用户创建的令牌只是临时的。。谢谢不,你要做的是将用户引导到一个页面进行登录,他们登录,将代码发送回你,你将代码交换为令牌,就完成了。阅读OAuth或Authentication上的Facebook页面。啊,但我不希望不同的用户这样做。这是我的博客网站,每次我发布博客,我都希望它发布到我的facebook页面。因此,它将始终发布到同一页面。。。我的页面。