是否无法使用多个访问令牌使用 '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 )