1
我正在開發web應用程序使用像本地主機中的按鈕圖API,但它不能正常工作。 當用戶點擊like按鈕時,如果fb登錄狀態是'連接',那麼它調用圖形api創建像像url一樣的用戶像對象。問題:用戶的狀態是「連接」,但當調用創建對象的URL時,圖形API總是響應「需要擴展權限:publish_actions」。Facebook登錄javascript sdk不能與publish_actions範圍
這裏是我的代碼:
window.fbAsyncInit = function() {
FB.init({
appId: MY_APP_ID,
status: true,
cookie: true,
xfbml: true
});
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/vi_VN/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
/////////////////////////
// Login
////////////////////////
function fbLogin() {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
//something
});
}
},{scope: 'publish_actions,publish_stream'});
}
/////////////////////////
// btnLike heart click
////////////////////////
jQuery('.hit').click(function() {
var current = jQuery(this);
var postId = current.attr('id');
var url = current.parent().attr('data-href');
var class_string = current.attr('class');
var class_array = class_string.split(' ');
if (class_array.indexOf("liked") != -1) { // found : liked
} else { // not found : not liked
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
FB.api('me/og.likes', 'post', {
/*test*/
object : getTestPermalink(url),
}, function(res) {
if (res.id) { //hit like successful
jQuery.post(
MyAjax.ajaxurl,
{ action: 'set_post_likes', postId: postId },
function(result) {
current.addClass('liked');
current.parent().children('.count').html(result.split('-')[0]);
}
);
}
});
} else {
fbLogin();
}
});
}
});
有人能幫助我嗎? 對不起我的英文不好..
非常感謝,但我怎麼能解決它?請幫助我.. – 2014-11-15 02:09:00
嘗試與應用程序管理員/開發人員或通過審查過程。當然還有刪除「publish_stream」。 – luschn 2014-11-15 09:44:13