facebook batch request for multiple users

2019-05-11 20:00发布

问题:

I have a user database from facebook. I want to get their data (interests and friends birthdays) using batch request. Now I can make 1 batch request for 1 user. But considering the no. of users in my app is huge definately it will reach a limit.

I want to know if there is any way to get multiple users data in a batch request

I tried the following but it didn't work

"access_token": "USER_A_ACCESS_TOKEN", batch=[ {"method": "GET", "access_token": "USER_A_ACCESS_TOKEN", "relative_url": "me/friends"}, {"method": "GET", "access_token": "USER_B_ACCESS_TOKEN", "relative_url": "me/friends"} ]

For userB access token also i get results for user A access token

回答1:

According to the documentation on the batch requests page

The Batch API is flexible and allows individual requests to specify their own
access tokens as a query string or form post parameter. In that case the top
level access token is considered a fallback token and is used if an individual
request has not explicitly specified an access token.

Rewriting your original attempt should be like this

curl -F "access_token=USER_A_ACCESS_TOKEN" -F 'batch=[{"method": "GET", "relative_url": "me/friends?access_token=USER_A_ACCESS_TOKEN"}, {"method": "GET", "relative_url": "me/friends?access_token=USER_B_ACCESS_TOKEN"}]'

The original USER_A_ACCESS_TOKEN will be used as a fallback if there is an error with any of the other access_tokens