如果用户帐户有多个配置文件,如何知道发布的位置

时间:2011-09-29 14:20:06

标签: jquery facebook

这可能很简单,但我猜它不是,而且Facebook文档真的没有用,因为它们没有翻译成我的母语,很难实现我的目标。

好的,我有一个脚本可以让我的webapp在Facebook上发布到我的Feed,但我有一个个人订阅源,一个应用页面和一个测试页面。

如何根据我要在测试页面上发布的登录而不是我个人资料中的内容来告诉我的脚本?

这是我用来登录的代码

var appID = 'MY_APP_ID';
        var path = 'https://www.facebook.com/dialog/oauth?';
        var queryParams = ['client_id=' + appID, 'redirect_uri=' + dominio, 'response_type=token'];
        var query = queryParams.join('&');
        var url = path + query;
        window.open(url);
        //
        FB.init({appId: appID, status: true, cookie: true, xfbml: true});
        //
        var accessToken = "";
        FB.Event.subscribe('auth.login', function(response) {
            if (response.session) {
                accessToken = response.session.access_token;
                console.log(accessToken);
            } else {
                console.log(response);
            }
            login();
        });
        FB.Event.subscribe('auth.logout', function(response) {
            document.getElementById('login').innerHTML = "";
            document.getElementById('login').style.display = "none";
        });
        FB.getLoginStatus(function(response) {
            if (response.session) {
                accessToken = response.session.access_token;
                console.log(response.session);
            } else {
                console.log(response);
            }
            login();
        });
        function login() {
            FB.api('/me/accounts?access_token='+accessToken+'', function(response) {
                console.log(response);
                if(response.name) {
                    document.getElementById('login').style.display = "block";
                    document.getElementById('login').innerHTML = "Ligado ao Facebook como "+response.name;
                }
            });
            $('body').criar_paineis_edicao(accessToken);
        }

这个实际发布

if(accessToken) {
    console.log("com token");
    FB.api('/me/feed?access_token='+accessToken+'', 'post', parametros, function(response) {
        if (!response || response.error) {
            $.each(response.error, function(name, value) {
                alert(value);
            });
            window.location.reload();
        } else {
            alert('Conteudo também publicado no Facebook');
            window.location.reload();
        }
    });
}

修改

console.log(response);

产生这个

对象

data:array[2]
    0: Object
        access_token: "my token"
        category: "Computers/Internet"
        id: "my first id"
        name: "my name"
        __proto__: Object

1: Object
        access_token: "my token_2"
        category: "Application"
        id: "my second id"
        name: "my name"
        __proto__: Object
        lenght: 2

1 个答案:

答案 0 :(得分:1)

发布到/{<id}/feed,其中 {id} 是您要发布的网页或用户ID - / me将始终引用您正在使用其访问令牌的用户