我已經開始開發一個有facebook集成的網站,它在使用Javascript SDK時似乎可以正常工作。我顯示用戶名稱和個人資料圖片很好。然後我在各處閱讀使用JS進行身份驗證連接的最佳方法,並使用PHP SDK以更簡單的方式運行API。我使用哪個Facebook登錄按鈕,爲什麼?
所以我面臨着使用兩種不同的登錄方法之一,但對於我的生活,我不能只是得到我想要的東西。它看起來好像文檔沒有清楚地解釋他們描述的任何事情的利弊,以及什麼情況最適合於什麼方法。
例如:
<?php if (!$user) { ?>
<div class="fb-login-button" data-perms="email,user_birthday">Login with Facebook</div>
<?php } else { ?>
Your user profile is
<pre>
<?php //print htmlspecialchars(print_r($user_profile, true)) ?>
</pre>
<?php echo $user_profile['name']; ?>
<?php
$data = array("message" => "Hello Woghfd!");
$status = $facebook->api("/me/feed", "POST", $data);
//echo $user;
?>
<?php }
但後來也有其他的按鈕:
<fb:login-button scope="email,user_about_me">Connect Facebooks</fb:login-button>
然後調用JS的功能的FB.login。
我不會介意這一點,但我測試使用PHP SDK張貼到用戶的牆與此代碼的能力:
$status = $facebook->api("/me/feed", "POST", $data);
,我不斷收到錯誤消息:
致命錯誤:未捕獲的OAuthException:(#200)用戶未授權應用程序執行此操作
這是我訪問我的網站時。然後,當我註銷並使用我的網站登錄按鈕重新登錄時,它可以正常工作。我明顯不想讓每個訪問該網站的用戶都發生這種情況。
有人可以請解釋所有這些按鈕是什麼意思?我花了幾天時間在互聯網上尋找解釋,但是當考慮到SDK更新時我會感到困惑,因爲我不知道什麼是最好的方法。
謝謝。
是的,這是有道理的,但我已閱讀所有這些。我確實要求發佈publish_stream權限,然後將其刪除,以查看會發生什麼。以前使用該應用程序的人仍然可以將事情發佈到他們的牆上,但對於新人來說,它會拋出我所陳述的錯誤。這很煩人,因爲我想在我自己的Facebook帳戶上測試人們第一次訪問該網站時獲得的視圖,但沒有任何已經被接受的權限?是否有可能刪除他們接受的每個人的權限? – JamesG 2012-03-07 14:28:01
如果您擁有該權限並且有人授權,那麼他們仍然擁有該權限並將繼續擁有該權限,直到他們移除該應用或撤銷該權限爲止。您自己寫的新用戶將不會擁有此權限,因此該應用無法在自己的牆上張貼。發佈在用戶牆上的唯一方法是獲得該許可。如果你想在他們授權你的應用之前測試它的外觀,那麼你可以只爲你的用戶刪除這個應用,或者只是撤銷權限:隱私設置>應用和網站(編輯設置)>你使用的應用(編輯設置) – 2012-03-07 14:47:44