繁体   English   中英

js用taggable_friend ID在朋友Facebook墙上张贴

[英]js Post on friends facebook wall with taggable_friend ID

首先,我得到了所有用户的朋友

FB.login(function(response){
        console.log(response);

        FB.api(
            "/me/taggable_friends?fields=name,id,picture.width(100).height(100)",
            function (response) {
                console.log(response);
                if (response && !response.error) {
                    $('#usersList').find('li').remove();
                    response.data.forEach(function(a, b){
                        console.log(a, b);
                        $('#usersList').append('<li class="users__item jsUser" data-fb-name="'+ a.name+'" data-fb-id="'+ a.id+'">'+
                        '<a class="users__link">'+
                        '<img src="'+ a.picture.data.url+'" height="63" width="64" alt="" class="users__pic">'+
                        '</a>'+
                        '</li>');
                    });
                    bindJsUser();
                }
            }
        );



    }, {scope: 'public_profile,user_friends'});

每个朋友的ID都像gahdfashjdfg234234137ryuhdsfius43534523wdfwef43r435一样,我无法在该墙上张贴该ID

var user = $('#usersList').find('li.active');
    if(!user){
        return;
    }
    // calling the API ...
    var obj = {
        method: 'feed',
        to: user.attr('data-fb-id'), // <-- PROBLEM
        link: 'http://snow.sa-wd.ru',
        picture: 'http://snow.sa-wd.ru/images/preview-greeting.webp',
        name: 'test',
        caption: 'Submit to friend',
        description: 'Using Dialogs for posting to friends timeline.'
    };

    function callback(response) {
        console.log(response['post_id']);
    }

    FB.ui(obj, callback);

错误:

API错误代码:100 API错误描述:无效的参数错误消息:AaIIMETTji_8- m19fUI *** yc ********* GUTQg无法解析为有效的用户ID

Feed对话框已弃用,不应再使用。 并且文档说“ 该ID必须是也使用您的应用程序的朋友。 ”-表示“ to”参数。 因此,如果您真的仍然想使用Feed对话框,只需使用/me/friends即可获得授权您的应用程序的所有朋友,并使用其中一个ID作为“ to”参数。

顺便说一句,除了标记/提及之外,您不能将taggable_friends用作其他用途。 这就是为什么您只获得“标记令牌”而不是用户ID的原因。

您将永远无法获得想要实现的目标的批准:

必须先由Facebook审查此edge的使用,然后才能代表使用您的应用的人对其进行调用。

话虽如此,即使在不赞成使用的Feed对话框中,在朋友的墙上发帖也是一种不好的做法。 它总是看起来像垃圾邮件。 这就是为什么无法发布给未授权您的应用程序的朋友的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM