我的網站允許用戶通過Facebook Connect登錄,並允許他們更新我們網站的狀態欄。我想在狀態更新字段的下方添加一個複選框,以便他們可以將此更新發布到他們的Facebook個人資料中,如果他們願意的話。爲了做到這一點,我需要用戶授予我們的應用程序權限,以發佈到他們的Facebook個人資料,通過使用JS函數FB.Connect.showPermissionDialog http://developers.facebook.com/docs/?u=facebook.jslib.FB.Connect.showPermissionDialog來提示用戶獲得'publish_stream'權限。Facebook Connect發佈流JS幫助
我遇到的問題是搞清楚是否需要提示用戶這樣做。基本上我想要的用戶體驗是,當用戶第一次選中此框時,我希望它們被提示授予此權限。一旦獲得批准,如果他們再次選中該複選框,我將不再需要提示他們。我似乎無法弄清楚在該複選框的onclick動作中包含哪些JS,它將檢查用戶是否已授予此許可權,如果不是,則提示他們,否則不執行任何操作。另外,在選中該框並授予權限之後,我不想執行任何操作(不重新加載頁面),但是如果他們拒絕了授予權限的請求,我希望取消選中該複選框。我想我可能需要使用FB.ApiClient.users_hasAppPermission JS功能http://developers.facebook.com/docs/?u=facebook.jslib.FB.ApiClient.users_hasAppPermission,但我仍然對這將看起來像什麼感到困惑。造成這種情況的僞代碼將是:
onclick="
if(user_already_granted_permission) { do_nothing; }
else {
prompt_user_to_grant_permission {
wait_for_response_from_permission_dialog {
if(permission_granted) { do_nothing; }
else { uncheck_checkbox; }
}
}
}
"
一個值得一提的另一件事是,我已經驗證了用戶通過Facebook Connect登錄時,頁面被渲染。我希望別人使用Facebook Connect已經能夠解決這個問題了。在此先感謝您的幫助!
@亞歷山大 - 謝謝,但登錄的部分不是我遇到的大問題。你有沒有做過任何促使用戶發佈到他們的新聞流的發展?如果這樣會更加適用。 – 2009-11-24 16:40:33
對不起,我想我沒有得到正確的問題。我還沒有使用權限api,但我想在facebook開發人員論壇中的以下帖子應該可以幫助你 - http://forum.developers.facebook.com/viewtopic.php?pid=124579#p124579 – 2009-11-25 08:39:08