I am helping develop a chatbot for Facebook Messenger which uses Facebook's Graph API v2.6. But now Facebook is asking us to submit the app for review.
The problem is that our app asks the API for, among other things, the user's locale and timezone. I need the user's locale just to decide which language the bot uses to talk to the user. But now, since Graph API v2.7, both locale and timezone fields are deprecated and I don't know how to fetch the user's language and timezone, nor which permissions I need, so as to include them in the app review.
I searched the web for alternatives to those fields but I found nothing. What do I do? Please help me.
The Graph API is named after the idea of a "social graph" — a representation of the information on Facebook. It's composed of nodes, edges, and fields.
Is Facebook Graph API a REST API? The Legacy REST API is in the process of being deprecated, while the Graph API is the most current, so if you're unsure of which one to use, your best bet is to go with that one. As you suggested, the Graph API, just like the Legacy REST API, is in fact a RESTful API.
In the App Dashboard Settings > Advanced, scroll to the Upgrade API Version section.
Yes, it is a REST API as well.
https://developers.facebook.com/docs/messenger-platform/identity/user-profile#fields explains what fields you can get via the Messenger Profile API (different from Graph API).
locale
should be available via the pages_user_locale
permission, and timezone
via pages_user_timezone
.
You will need to get those reviewed before you can use them:
Beginning July 26, 2018, apps must request access to all other profile fields as part of the app review process. To submit for access to profile fields, add the permissions you would like to request when you submit your app in the Messenger Platform tab of the app console.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With