4
我有一个应用程序已经运行了一段时间,只需要登录的目的一些帐户信息。现在我想用它来发布到流中。我已将publish_stream添加到req_perms,但它仍不会要求获得该权限。如何获得Facebook应用程序的publish_stream权限?
我错过了什么吗?
<?php
# CREATE FACEBOOK BUTTON
$facebook = new Facebook(array(
'appId' => FACEBOOKAPPID,
'secret' => FACEBOOKSECRET,
'cookie' => false,
));
$fb_session = $facebook->getUser();
$fb_me = null;
// Session based API call.
if ($fb_session) {
try {
$fb_uid = $fb_session;
$fb_me = $facebook->api('/me');
$fb_me['photo'] = 'http://graph.facebook.com/'.$fb_uid.'/picture?type=large';
$_SESSION['login_api'] = 1;
$_SESSION['login_api_details'] = $fb_me;
$_SESSION['login_api_user_id'] = $fb_uid;
# WE ARE GOOD TO GO, LETS GET THE ACCESS TOKEN
$_SESSION['access_token'] = $facebook->getAccessToken();
#header_redirect(SITEURL.'/login');
} catch (FacebookApiException $e) {
error_log($e);
}
}
else{
# LOGIN URL FOR FACE BOOK & request extra stuff
$fb_login_url = $facebook->getLoginUrl(array('req_perms'=>'publish_stream,email,user_about_me,user_birthday,user_website'));
header_redirect($fb_login_url);
}
?>
辉煌试试这个。诀窍了。但为什么? – David
@David从SDK 2.0到3.0,'req_perms'已经成为'范围' –
我相信这个改变实际上是OAuth 2.0的错 - 这就是SDK改变的原因,但是如果你将它们包含在一个url中,它也会变成范围。 – mitchellhislop