是否不允许使用每个请求对 FQL 进行批处理查询access_tokens?它不起作用



是否可以使用'method/fql.query?query=...'批量查询图形使用多个访问令牌?

过去,我从未遇到过使用多个访问令牌批量查询非 fql 终结点的问题,但是使用批量查询 FQL 调用时,只有第一个调用返回数据,其余调用返回空正文。

我能做的唯一猜测是它access_token相关,但如果是这样,我有点不知道如何补救。

例:

import json
from pyfaceb import *
user1_tk = '...' #valid token (tested)
user1_qry = '...' #valid query (tested unbatched)
user1_rqst = {'method': 'POST', 'relative_url': 'method/fql.query?query=' + user1_qry, 'access_token': user1_tk}
user2_tk = '...' #valid token (tested)
user2_qry = '...' #valid query (tested unbatched)
user2_rqst = {'method': 'POST', 'relative_url': 'method/fql.query?query=' + user2_qry, 'access_token': user2_tk}
batches = [user1_rqst, user2_rqst]
fbg = FBGraph(user1_tk) # use user1_tk as fallback access token (cuz you have to specify one)
data = fbg.get_batch(batches)
print data[0]['body'] #comes back with data, but
print data[1]['body'] #comes back as an empty array.

data[0]['code'] 和 data[1]['code'] 都是 HTTP 200 响应。

如果我将回退访问令牌更改为user2_tk,则 data[0]['body'] 将作为空数组返回(反之亦然)。即使我为每个请求指定了access_tokens(每:https://developers.facebook.com/docs/reference/api/batch/#differentaccesstokens)

通了。acccess_token需要位于请求正文中,因为它是 POST:

...
user1_rqst = {
    'method': 'POST',
    'relative_url': 'method/fql.query?query=' + user1_qry,
    'body': 'access_token=' + user1_tk
}
...
user2_rqst = {
    'method': 'POST',
    'relative_url': 'method/fql.query?query=' + user2_qry,
    'body': 'access_token=' + user2_tk
}

最新更新