Do Facebook Graph API calls using field expansion count differently against the rate limits than batch calls

后端 未结 3 1789
礼貌的吻别
礼貌的吻别 2021-01-11 20:13

I am looking to optimize my Facebook app.

Today I make a batch call with four graph API calls:

/me
/me/friends
/me/likes
/me/feed

I

相关标签:
3条回答
  • 2021-01-11 20:37

    Unfortunately, each call in the batch is counted as an api call, it's just faster to call them within a batch since it will be 1 request. See here documentation on Facebook API:

    Limits
    We currently limit the number of requests which can be in a batch to 50, but each call within the batch is counted separately for the purposes of calculating API call limits and resource limits. For example, a batch of 10 API calls will count as 10 calls and each call within the batch contributes to CPU resource limits in the same manner.

    Source: https://developers.facebook.com/docs/reference/api/batch/

    0 讨论(0)
  • 2021-01-11 20:37

    Based on real-world testing, I've found that field expansion can count for multiple uses under the rate limit. For example, starting from a quiet state, a sequence of 63 field-expanded calls to a single api (graph.facebook.com/IDENTITY/posts) brought us to the 600 call rate limit.

    0 讨论(0)
  • 2021-01-11 20:40

    According to the Facebook Docs,

    The Field Expansion feature of the Graph API, allows you to effectively "join" multiple graph queries into a single call.

    So your queries above would represent four calls in the Batch form, and one call in the Field Expanded form.

    As I noted in a comment above: A batch sends multiple-but-not-necessarily-related queries to Facebook in a single request. Field expansion is like doing joins in SQL through a single query.

    0 讨论(0)
提交回复
热议问题