0

'method/fql.query? query = ...'를 사용하여 여러 액세스 토큰을 사용하여 그래프를 일괄 처리 쿼리 할 수 ​​있습니까?요청 당 access_tokens를 사용하여 FQL로 쿼리를 일괄 처리 할 수 ​​있습니까? 작동하지 않습니다

다중 액세스 토큰을 사용하는 non-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. 

데이터를 모두 [ 0] [ 'code'] 및 data [1] [ 'code']는 HTTP 200 응답입니다.

fallback 액세스 토큰을 user2_tk로 변경하면 데이터 [0] [ 'body']이 빈 배열로 돌아옵니다 (반대의 경우도 마찬가지 임). 각 요청에 대해 access_tokens를 지정하더라도 (https://developers.facebook.com/docs/reference/api/batch/#differentaccesstokens)

답변

0

알아 냈어. 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 
}