我在Facebook上創建了一個基本上只是郵件列表註冊頁面的iFrame應用程序。但是,當用戶點擊註冊時,FB:ui「張貼到牆上」彈出,並讓用戶選擇分享他們剛剛註冊的內容,如果他們願意的話。它工作正常。Facebook的iFrame應用程序 - 顯示FB:UI取決於用戶是否登錄?
但是,我想找到一種方法來顯示FB:ui僅適用於登錄到Facebook的用戶。我的應用程序不應該要求用戶的任何許可,因爲它只是一個登陸頁面,可以讓用戶根據需要共享一個選項。從來沒有任何自動共享完成。
我使用下面的代碼目前:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js">
</script>
<script>
FB.init({
appId:'my app id', cookie:true,
status:true, xfbml:true
});
FB.getLoginStatus(function(response) {
if(response.session) {
sharethisnow();
} else {
// no user session available, someone you dont know
if(response.status == "notConnected") {
// But user is logged into facebook
sharethisnow();
} else {
// User is not logged into facebook
}
}
});
function sharethisnow() {
FB.ui({ method: 'feed',
link: 'my link',
name: 'my page name',
caption: 'my caption',
description: 'my decription',
picture: 'my picture',
message: 'my message'});
}
</script>
正如你所看到的,我試圖運行FB:UI(sharethisnow功能)只有誰不是登錄到Facebook和用戶my應用程序,或僅登錄到Facebook。但由於某些原因,上述代碼僅適用於頁面管理員。當我以管理員身份登錄時,我註冊並且FB:ui彈出應用程序。但是,當我將該頁面視爲非管理員(只是一個通用登錄Facebook用戶)時,FB:ui彈出,但表示出現錯誤,並且「請稍後再試」。
任何幫助,這將是太棒了。
嗨。謝謝回覆。沒有應用程序正在測試關閉沙箱模式,仍然有問題。它工作正常,如果頁面的管理員查看頁面(sharethisnow()函數加載,因爲它應該填充標題,標題,說明等),但是當我嘗試它作爲非管理腳本加載,但它說有錯誤,並且「請稍後再試」,並且不會填充內容。我很困惑,爲什麼它不起作用。它是否建議非管理員用戶在可以正確執行FB:ui之前需要嚮應用程序授予權限? – 2011-04-08 09:03:24