0

複数のアクセストークンを使用して「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ごとに)

4

1 に答える 1

0

理解した。access_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
}
于 2012-04-26T00:16:10.287 に答える