我正在为一个事件建立一个小网站。这个想法是将 Facebook 事件的参加者添加到此网站。问题是主服务需要access_token。我不想让用户登录应用程序,我只想使用应用程序access_token。但这似乎不起作用。
我有以下用于接收 access_token 的 php 代码:
// get facebook auth_token $FB_APP_ID = '****'; $FB_APP_SECRET = '***'; $token_url = "https://graph.facebook.com/oauth/access_token?client_id=" . $FB_APP_ID . "&client_secret=" . $FB_APP_SECRET . "&grant_type=client_credentials"; $app_token = file_get_contents($token_url); parse_str($app_token); // creates: $access_token
In javascript I am using the following code:
/**
* Gets all the attending Users
* @param function callback: the function to call, when data loading is ready
* @param function callback: the function to call, when data loading is broken
* @return void
*/
this.getAttending = function(callback, errorHandler)
{
FB.api('/' + this.eventId + '/attending', function(response) {
if(response.error) {
errorHandler(response.error['message']);
} else {
callback(response.data);
}
} , {access_token: facebook.accessToken} );
}
我收到错误: OAuth 访问 token 无效。
访问 token 如下所示: 111737995591905|l9e3niEMM1RsIUhwHZv3pn3c19M
用户访问 token 如下所示: 145634995501895|2.AQBcWfbvdzhloLYc.3600.1312138800.1-1146858041|cjCkHZqquyyFyX2dY0q2YCaSyy0
当我尝试使用用户访问 token 时,一切正常。但是当我对 token 进行硬编码时,这对其他用户不起作用。当我尝试服务器为我解析的 token 时,我得到无效的 token 操作。有人知道这个问题的解决方案吗? 这是一个公共(public)事件,我不希望用户在知道谁参加之前登录?
这可能吗? 谢谢!
最佳答案
您在硬编码时是否对 token 进行了编码? |应该是 %7C 。 目前想不出还有什么可能出错的地方
关于php - Facebook access_token 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6891144/