我想将故事发布到用户时间线,即使他们没有登录Facebook。实际上我在数据库中存储了用户访问令牌,如果用户使用电子邮件登录,我将为她检索访问令牌。它在php中运行良好(例如在setAccessToken(token_from_database)之后获取好友列表,但是当我发布故事时,它总是发布到当前fb登录帐户的时间轴。
我认为问题是由fb.init引起的:
window.fbAsyncInit = function() {
FB.init({
appId : 'XXX', // App ID
status : true, // check login status
cookie : true // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
以后:
FB.api('/me/...
将登录帐户设为“我”,而不是我通过setAcccessToken在php中设置的帐户。 我如何发布到该帐户(使用token_from_database指定)的时间表?任何想法?
答案 0 :(得分:20)
尝试传递您要用作params
FB.api
对象的一部分的访问令牌 - 它应该与访问API服务器端时的工作方式相同。
FB.api(
'/me/feed',
'post',
{
access_token : 'access_token_for_some_user_fetched_from_your_database',
additional_parameter_foo : 'bar'
}
);
答案 1 :(得分:0)
我有更多关于PHP SDK的知识,但在PHP中你可以用用户ID替换“我”,我想它也适合你:
FB.api('/'+fbuserid+'/...');
但是您应该知道,在更改密码以及从Facebook登录和注销后,用户的访问令牌会发生变化。