如何使用新的PHP SDK請求權限?我不想使用圖形API,並始終解析URL。當應用程序被打開時,如果用戶尚未授權,應該自動請求權限。使用新的PHP SDK請求權限(3.X.X)
12
A
回答
20
這裏就是我如何與最新的PHP SDK(3.0.1)
// init new facebook class instance with app info (taken from the DB)
$facebook = new Facebook(array(
'appId' => 'YOUR APP ID',
'secret' => 'YOUR APP SECRET'
));
// get user UID
$fb_user_id = $facebook->getUser();
// get the url where to redirect the user
$location = "". $facebook->getLoginUrl(array('scope' => 'publish_stream, email'));
// check if we have valid user
if ($fb_user_id) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$fb_user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$fb_user_id = NULL;
// seems we don't have enough permissions
// we use javascript to redirect user instead of header() due to Facebook bug
print '<script language="javascript" type="text/javascript"> top.location.href="'. $location .'"; </script>';
// kill the code so nothing else will happen before user gives us permissions
die();
}
} else {
// seems our user hasn't logged in, redirect him to a FB login page
print '<script language="javascript" type="text/javascript"> top.location.href="'. $location .'"; </script>';
// kill the code so nothing else will happen before user gives us permissions
die();
}
// at this point we have an logged in user who has given permissions to our APP
// basic user info can be fetched easily
print "Welcome to my app". $fb_user_profile['name'];
+0
「cookie」參數未與最新的PHP SDK一起使用。你可以刪除它。 – Phillip
+1
謝謝,我想這是從舊版本的PHP SDK中留下的 –
2
基於會話的登錄與範圍,並退出與做的access_token它PHP-SDK 3.2.0。
<?php
require './src/facebook.php';
$facebook = new Facebook(array(
'appId' => '135669679827333',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxx',
));
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
if ($user) {
$params = array(access_token => ''.$access_token.'');
$logoutUrl = $facebook->getLogoutUrl($params);
} else {
$params = array(
scope => 'read_stream,publish_stream,publish_actions,read_friendlists',
//redirect_uri => $url
);
$loginUrl = $facebook->getLoginUrl($params);
};
$access_token = $_SESSION['fb_135669679827333_access_token'];
?>
。
<?php if($_SESSION['fb_135669679827333_access_token']): ?>
<a href="<?php echo $logoutUrl; ?>&access_token=<?php echo $access_token; ?>" target="_parent">Login & Connect</a>
<?php else: ?>
<a href="<?php echo $loginUrl; ?>" target="_parent">Login & Connect</a>
<?php endif ?>
相關問題
- 1. Android Facebook SDK 3 - 請求新權限但無法重新授權
- 2. 請求在Facebook的權限c#sdk
- 3. Facebook SDK - 權限請求後重定向
- 4. 無法從Android Facebook SDK請求權限
- 5. Android:重新請求權限
- 6. Facebook的PHP SDK:請求鏈接權限,而不是重定向
- 7. 如何使用Facebook的Android SDK請求發佈權限?
- 8. 如何在新的Facebook JavaScript SDK中請求權限?
- 9. Facebook應用的權限請求使用
- 10. 如何使用javascript SDK請求publish_stream權限?
- 11. 使用Android SDK請求相機權限23
- 12. 請求寫權限
- 13. 請求位置更新權限的iOS
- 14. DayDream權限請求
- 15. Facebook ios sdk授權打開兩個權限請求對話框
- 16. Facebook Jquery ajax權限請求?
- 17. Facebook請求權限
- 18. 在用戶拒絕請求(嘗試使用Facebook PHP SDK)後嘗試請求權限時出現錯誤消息
- 19. Facebook請求權限示例?
- 20. 重新詢問Facebook權限PHP SDK 5.0
- 21. Android:請求多個權限時僅請求第一個權限
- 22. 使用twitter oauth2請求更高權限
- 23. 如何使用Facebooker2請求權限?
- 24. 請求新權限失敗處理
- 25. 檢查權限請求
- 26. FBLoginButton不請求權限
- 27. PACKAGE_USAGE_STATS的請求權限
- 28. 請求INTERNET權限的BindException
- 29. DotNetOpenAuth AspNet請求status_update權限
- 30. 使用oAuth重新請求Facebook權限不起作用
你是什麼意思?你不想一直使用'$ facebook-> getLoginUrl()'? – ifaour