Facebook:使用多个朋友选择器和JS SDK发布到多个朋友的墙

时间:2011-12-15 17:30:17

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我已尝试根据其他一些SO问题和各种网络教程整理一些代码。

当我尝试发布到我朋友的墙上时,我得到的错误就在最后。

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>

<p><input type="button" onclick="sendRequestViaMultiFriendSelector(); return false;" value="Recommend friends for another chance to win!" /></p>

<div id="response"></div>

<script>
FB.init({
    appId  : 'xxxxxxxxxx',
    status : true,
    cookie : true,
    oauth: true
});

function sendRequestViaMultiFriendSelector() {
    FB.ui({method: 'apprequests',
        message: 'My Great Request'
    }, requestCallback);
}

function requestCallback(response) {
    // Handle callback here
    if (response.request && response.to) {
        var request_ids = [];
        for(i=0; i<response.to.length; i++) {
            var temp = response.request + '_' + response.to[i];
            var friend_id = response.to[i];
            request_ids.push(temp);

            //send message in here
            var opts = {
                message : 'Message',
                name : 'Name',
                link : 'http://www.facebook.com/pages/xxxxx/xxxxxxxxxxxxxxx',
                description : 'Description here',
                picture : 'http://www.example.com/img/some.jpg'
            };

            FB.api('/'+friend_id+'/feed', 'post', opts, function(response) {
                if (!response || response.error) {
                    // This is the error I am getting:
                    alert('Error occured');
                } else {
                    alert('Post ID: ' + response.id);
                }
            });
            // end send message 
        }
        var requests = request_ids.join(',');       
    } else {
        alert('Didn't send recommendation to friends');
    }
}
</script>

1 个答案:

答案 0 :(得分:1)

代码实际上工作得很好,只要我在图api资源管理器中授予自己访问令牌就行了。

现在只需要设置我的身份验证对话,非常有趣!

以为我最好回答这个问题,其他人遇到同样的情况。