我正在尝试验证并同时通过服务器端应用程序获取特定访问令牌的一些元数据 - 用python编写。
访问令牌是使用JS Web SDK生成的(在带有ajax回调到我的python服务器端的静态页面上)
当我在服务器上获得json响应时,它缺少一些关键字段:
{
"data": {
"app_id": some_app_id_deleted,
"application": some string app name deleted
"is_valid": true,
"scopes": [
]
}
}
正如您所看到的,scopes字段为空,并且没有其他字段,例如文档debug_token Facebook Documentation
中描述的user_id和expiration_at我也正在使用Graph API Explorer对其进行测试,并获得相同的缺失结果Debug Token from the Graph API
真正奇怪的是,当我Debug Access Token Tool时,我正以正确的方式获得所有字段。
我想问题是我传递给debug_token API调用的input_token - 我正在使用Access Token Tool来查找我的app访问令牌,看起来它是正确的。 input_token还有另一种选择吗?
我的问题是:当我使用调试令牌API时,如何从调试访问令牌工具中获得相同的结果 - 正如Facebook正式文档中所述。
发出请求时Debug Access Token Tool使用的input_token是什么? 有人有类似的东西吗?
UPDATE:这是我的代码中的一个错误,我在格式化我的网址时切换了'input_token'和'access_token'之间的参数,这造成了这种奇怪的行为。
url = 'https://graph.facebook.com/v2.8/debug_token?' \
'input_token=%s&access_token=%s' % (app_token_str, token)