That Facebook Graph API docs are not the best in the world I guess it's something more than well known.
The fact is that we are creating an app to access to Instagram Business Accounts data. Facebook documentation, in the Getting started guide, says to use manage_pages
permission to get the list of instagram business accounts linked to pages. The problem of that permission is that requires application review and that, under our previous experience, takes between 4 and 6 weeks to happen. Also, we don't want to manage user pages, just get the Instagram Business Accounts linked to them.
So we have tried to use pages_show_list
instead. But in the tests I have made, I only can see the Instagram Business Account linked to a page I manage, while using manage_pages
(same query on Graph API Explorer) I get the two Instagram Business Accounts I have linked to Facebook pages. I have the same tasks
(roles) for both pages.
That makes me wonder if it's that pages_show_list
for whatever reason doesn't work for that, or it's something specific about the second page/Instagram Business Account that I do not achieve to understand.
After some tests looks like manage_pages
is a must to get Instagram Business Accounts connected to Facebook Pages.
After three different users testing, each of them owning two different Facebook Pages connected to two different Instagram Business Accounts, I was the only one who achieved to see one of the Instagram accounts with a token with pages_show_list
granted permission.
Why I can see that account? I don't know, but definitely that's the weird case and it's not possible, in general, get the Instagram Business Account connected to a Facebook Page with a user token with pages_show_list
as permission instead of manage_pages
.
UPDATE: I've finally find a hint on the documentation. Looks like the difference is made if the role permissions to the Page are granted to the user via Business Manager or not. If they have been granted in that way, apart from pages_show_list
, in theory one of manages_pages
, business_management
or ads_management
permissions are needed.
Even when I don't know how to know if the Page permissions/role has been given in that way, I've tried it and it worked for me with pages_show_list
+ manage_pages
and pages_show_list
+ business_management
but not with pages_show_list
+ ads_management
.