我知道這裏有很多Q & A,但我似乎無法理解它們,因爲它們沒有顯示完整的代碼示例,或者是做了與我正在嘗試做的不同的事情。如何在簡單的iframe選項卡中提示用戶訪問用戶ID?
我有一個簡單的Facebook歡迎測試選項卡。不是畫布應用程序。我希望能夠獲取用戶標識,但必須提示用戶訪問該信息,然後才能顯示在已簽名的請求中。
所以我在找的是一個簡單的歡迎標籤的代碼示例。我不需要登錄頁面或類似的東西,因爲這將在粉絲內容頁面中,因此他們必須已經登錄。我只想讓該對話框彈出詢問他們的權限,以便我可以獲得用戶標識。
感謝
編輯: 我想補充一點,我只是想出了我的問題,但它不是一個真正的回答這個問題。我想出瞭如何獲得用戶ID而不要求用戶訪問其個人資料的權限。這很簡單,只需將此代碼添加到頁面中,並以相同方式在選項卡和畫布應用中工作。 getUser()通過它自己返回0,但由於用戶已經登錄以查看此內容,所以當getUser()返回0時,代碼只是從API方法獲取用戶標識。現在我終於明白了這一點,看起來很簡單。
$session = $facebook->getUser();
if (!$session) {
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0
));
echo "<script type='text/javascript'>top.location.href = '$url';</script>";
} else {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$updated = date("l, F j, Y", strtotime($me['updated_time']));
echo "Hello " . $me['name'] . "<br />";
echo "You last updated your profile on " . $updated;
} catch (FacebookApiException $e) {
echo "Error:" . print_r($e, true);
}
}
我仍想知道是否有一種方法,使擴展權限對話框顯示的選項卡應用程序,所以這將是很好看的PHP SDK解決方案。
這個人似乎是試圖做我正在嘗試但我有他一樣的問題。 http://stackoverflow.com/questions/7278378/facebook-graph-api-page-tab-extra-permissions當點擊登錄鏈接時,我得到了facebook徽標,但沒有看到這個人是如何解決他們的問題的。我使用的是PHP的SDK,而不是JavaScript,所以關於JavaScript鏈接的部分不適用於此。 – isimmons 2012-02-25 16:00:12
我在Facebook上添加了welcome-test作爲畫布應用程序,它的行爲方式完全相同,但是有更大的iframe,所以也許如果我能弄清楚如何通過畫布提示用戶訪問userid,那麼我可以嘗試應用相同的代碼到選項卡。 – isimmons 2012-02-25 16:07:41