這是在Facebook供稿對話框中可用的相同代碼。我改變它採用我的應用程序的要求和燈箱打開如果取消使用'#'作爲redirect_uri否則我使用響應函數將document.location移動到謝謝你的頁面,我希望它會幫助你解決你的問題。
<script src='http://connect.facebook.net/en_US/all.js'></script>
<script>
FB.init({appId: "<?=$config['appId'];?>", status: true, cookie: true});
function postToFeed() {
// calling the API ...
var obj = {
method: 'feed',
redirect_uri: '#',
link: 'https://www.facebook.com/MyPageName/app_<?=$config['appId'];?>',
picture: 'https://www.abc.com/fbapp/img/welcome.jpg',
to: friendId,// js variable I am fetching from radio button selection
name: 'App Blah Blah',
caption: 'your_caption',
description: 'your_description'
};
function callback(response) {
// I commented out message print in div
// document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
// check weither feedback is valid
if(typeof(response)!='undefined'){
document.location = 'thankyou.php';
}
}
FB.ui(obj, callback);
}
</script>
謝謝你的回答。根據文檔,我想應該在點擊每個按鈕之後使用redirect_url。 (「在用戶點擊對話框上的按鈕後重定向到的URL」) 但這不是最大的問題。至於應用程序設置:我沒有真正的HTTPS訪問服務器,只有自簽名證書引發醜陋的錯誤。這應該是一個問題嗎?在沒有付費證書的情況下使用網絡服務器時是否有一些解決方法? – 2011-12-26 09:41:14
您現在需要有一個真正的https站點。我認爲這隻能用付費證書來完成。如果沒有,互聯網上的東西真的是錯誤的,我永遠不會相信再次在https網站上... – DMCS 2011-12-26 15:24:03
是的,我明白,沒有證書,但沒有辦法模擬https :)但我的意思是一些解決方法Facebook不需要您的畫布應用頁面的https連接。儘管如此,感謝您的回答,現在我懷疑缺失的https是問題所在,並嘗試通過某些似乎是解決方案的Facebook雲服務合作伙伴進行託管,並且它似乎也適用於小型應用程序。 – 2011-12-26 16:11:36