Can't get Instagram Business Account ID through Facebook Graph API
Asked Answered
V

14

23

I'm trying to access the media of my Instagram business account through Facebook Graph API. I'm following this guide: https://developers.facebook.com/docs/instagram-api/getting-started/

I've set up everything as requested: I have an Instagram business account, a Facebook page connected to this account and a Facebook app.

In step 5, when I try to get the Instagram Account ID with

GET /v3.0/{page id}?fields=instagram_business_account

the response I get looks different than the one in the guide. The Instagram business account field is missing, I only get back the ID of the Facebook page, which I already have.

Does anyone have an idea what could be wrong here?

Veriee answered 5/6, 2018 at 22:26 Comment(7)
Any luck with this? I'm having the same exact issue.Thermoelectric
This was previously working for me, but upon trying it again this morning, it is no longer working and I have no idea why.Directive
looks like there is a known bug at the moment, see developers.facebook.com/support/bugs/177912116363088/…Directive
the known bug was reported back on May 9th, and seems to be affecting more people as time goes on.Directive
Issue Resolved. Please check my answer here : https://mcmap.net/q/585194/-instagram-graph-api/…Comose
Is there a resolution to this issue that doesn't involve linking and unlinking your FB/IG?Ramonitaramos
Add one more permission to your auth request: pages_read_engagement - it will resolve your issueDelphiadelphic
B
15

Try the query below with the manage_pages permission.

/v3.0/me/accounts?fields=name,id,access_token,instagram_business_account{id,username,profile_picture_url}

I'm going through the review process and having trouble understand the permissions required to

  1. Get Instagram Business Accounts
  2. Subscribe to instagram_story_insights webhook

I only manage to get 1. by having the manage_pages permission. But I don't want to manage pages, just want to get the Instagram Business Accounts and request insights, feed and profile.

For 2. I only find the /subscribe endpoint and that requires a Facebook Page access token and that is only available with the manage_pages permission.

Begrudge answered 25/6, 2018 at 8:0 Comment(1)
This one should be approved answer for this question!Flaccid
I
12

I was facing this issue since last 2 days and it was started suddenly.

I was able to resolve this issue by doing below steps.

  1. Convert back your Instagram business account to personal account.
  2. Now Convert your personal account to business account through the only facebook web not on instagram native app.

Important: We need to convert personal account to business account through the only facebook.

Instep answered 3/10, 2018 at 13:16 Comment(1)
Thank you very much, this did the trick. Just to clarify for others, I logged in to Instagram in the settings of my Facebook page and converted my personal account to a business account there. Now I can get the field instagram_business_account as expected.Figone
C
5

After an entire day searching the web (to no use) and reading Facebook/Instagram API docs (which is sometime misleading) I still could not successfully get the Instagram Business Account ID to make requests that use it, like the ig_hashtag_search request.

That's when I decided to ignore everything on the web, trust God, and start using Graph API Explorer's auto complete to try and make some sense of the whole thing!

It finally worked!

Before getting to the actual steps, make sure both Facebook and Instagram accounts are properly configured as business accounts! I don't know if it is a bug in the Brazilian version of Instagram's website, but the process to convert a regular Instagram account to a business account could only be completed using the native Instagram Android app. Specially the part where you link your Instagram account to a Facebook page that should already exist, and that should already have been created using Meta Business Suite.

Again, for me, as of today, the Public Business Information section was missing from the Brazilian version of Instagram's website!

After having configured and properly linked the accounts, it is possible to make the calls using Graph API v12.0.

Step 1

Access the Graph API Explorer.

Step 2

Add the following permissions:

  • ads_management
  • business_management
  • instagram_basic
  • public_profile

Step 3

Generate the Access Token using the button on the screen (in the popup, be sure to log in using a Facebook account that has both Facebook Business and Instagram Business accounts properly linked and configured).

Step 4

After obtaining the Access Token, get all Businesses IDs:

GET https://graph.facebook.com/v12.0/me/businesses?access_token=xxx

In the Graph API Explorer, you must type only this:

me/businesses

The response should be something like this:

{
  "data": [
    {
      "id": "BUSINESS_ID",
      "name": "Business Name"
    }
  ],
  ...
}

Step 5

Use the BUSINESS_ID to finally get the Instagram Business Account ID:

GET https://graph.facebook.com/v12.0/BUSINESS_ID/instagram_business_accounts?access_token=xxx

In the Graph API Explorer, you must type only this:

BUSINESS_ID/instagram_business_accounts

The response should be something like this:

{
  "data": [
    {
      "id": "INSTAGRAM_BUSINESS_ACCOUNT_ID"
    }
  ],
  ...
}

And that's it!

If everything worked as expected, you can use this INSTAGRAM_BUSINESS_ACCOUNT_ID to make the desired requests, such as ig_hashtag_search or recent_media requests:

GET https://graph.facebook.com/v12.0/ig_hashtag_search?user_id=INSTAGRAM_BUSINESS_ACCOUNT_ID&q=DESIRED_HASHTAG&access_token=xxx

In the Graph API Explorer, you must type only this:

ig_hashtag_search?user_id=INSTAGRAM_BUSINESS_ACCOUNT_ID&q=DESIRED_HASHTAG

The response should be something like this:

{
  "data": [
    {
      "id": "HASHTAG_ID"
    }
  ]
}

Hope to have helped! 🙏

Capsular answered 8/2, 2022 at 20:17 Comment(3)
Thanks bro i was struggling with Instagram business account for a weekMonochromat
Hi! But what if data array is returned totally empty? What does it means? I am trying reach the Instagram page with my client application. It is not my Instagram... Can You say something now? ))) thanks!Hospice
Hi! I cant find the public_profile permission? Have I to connect with app muster for some access?Hospice
W
4

Hopefully you've figured this out by now. I had the exact same problem as you did where I would only get the id of my page.

The solution was adding the correct permissions to the user access token.

You will need to use a user access token with manage_pages and instagram_basic permissions when you make API calls to

GET /v3.0/{page id}?fields=instagram_business_account
Woodford answered 28/2, 2019 at 16:17 Comment(0)
R
2

We found that this happens for 2 reasons:

  • Instagram profile was not associated with Facebook page correctly (i.e. person converted did not have access to your page).
  • The person who converted Instagram to business and connected to the page is no longer an admin of the page
  • You connected your page and Instagram using Facebook page settings - that screen definitely does not work.
  • Make sure that your app has approved business_management permission and that you are asking for it when users authenticate facebook.

In all cases, converting instagram back to personal and then reconverting it to business fixes the issue.

Recycle answered 25/1, 2019 at 16:53 Comment(0)
H
1

Facebook Graph API 4.0 Only Supports Instagram Business Account. Creator instagram account doesn't work on graph api .

Check out below pics for getting instagram id from graph api

Click to View for Graph API Response

Heavenward answered 26/9, 2019 at 7:26 Comment(0)
F
1

I was able to resolve this by going to the Facebook Page > Settings > Instagram and there I was prompted to "Review connection." I recently added the Instagram account "asset" to a user of our business account, so maybe that caused some need for the connection between the FB Page and IG account to be reviewed. I never received a notification from FB about this and I banged my head against the wall for over a day trying to debug this.

Futrell answered 10/3, 2022 at 8:20 Comment(1)
I was able to solve my problem in a similar way. I didn't find the "Settings" options that you mentioned, but when I clicked on "Meta Business Suite", I was prompted to review the connection between the accounts. Now everything is working. Thanks!Fortuitism
G
0

Given the Facebook account has a page (with {page id}) linked to the Instagram account. We managed to obtain ids via Browser (HTTPS Get) with

https://graph.facebook.com/v3.0/{page_id}?fields=instagram_business_account& access_token={Access token with the right permissions}

The token was manually generated using Facebook's Graph Explorer

https://developers.facebook.com/tools/explorer/v2/

Choose "User Token" option and Add the permissions "business_management", "manage_pages" and "instagram_basic" via the UI. Hit "Get Access Token" button to generate the token to be used with the "instagram_business_account" url query above.

To get images from the linked Facebook page, we currently do

https://graph.facebook.com/v3.0/{instagram_business_account}/media?fields=id,name,media_url,media_type,timestamp&access_token={Access token with the right permissions}

BTW, our Facebook account does have an app created under it so we could choose this app in the Facebook Graph API Explorer tool when the UI asked for it.

With the right permissions, one can covert these steps into code.

Galah answered 27/7, 2018 at 0:34 Comment(1)
For me, the point that make everything work is to add the "instagram_basic" permission on the Facebook Graph Explorer UI before getting the access token. The Facebook docs says that you need only the "manage_pages" permission on the UI, but you MUST add "instagram_basic" too.Suspicious
N
0

I am facing the same issue and I think thats because one of these two reasons:

  1. the Graph API has updated its policy and requires all apps to undergo Business verification, which is part of the App Review process. Once your app gets verified then you can make those calls.

  2. Your app is in live mode. Switch it off so it comes in development mode from your app dashboard. now you have access to all the api calls. Select the manage_pages and instagram_basic permissions from the graph api explorer. Now you can make the request.

Neoimpressionism answered 11/11, 2018 at 9:20 Comment(0)
D
0

I was facing same issue but i found the solution. At start be sure your instagram account should business account or Creator account. And then link it with facebook from Facebook web. Error only come when we use our personal account instead of Creator or Business.

This is my output now.

enter image description here

Discriminator answered 17/7, 2019 at 11:15 Comment(0)
D
0

Add one more permission to your auth request: pages_read_engagement. No need to have manage_pages or public contents access to get Instagram ID.

Delphiadelphic answered 6/10, 2020 at 19:30 Comment(0)
B
0

I faced the same problem and I have resolved it. Follow the following steps to get the Instagram business ID.

(assuming that you already have an access token)

Step 1: Get the Facebook ID first [ GET v11.0/me?access_token={your_access_token} ]

{
    "name": "your facebook page name",
    "id": "facebook_page_id"
}

Step 2: Make sure that manage_pages , business_management and instagram_basic permissions are enabled. Can be easily done using Graph API Explorer.

Step 3: Using the Facebook ID we can obtain the Instagram business ID [ GET /v11.0/{facebook_page_id}?fields=instagram_business_account?access_token={your_access_token} ]

{
    "instagram_business_account": {             
    "id": "insta_business_id"
}
}

Step 4: In case you are getting only Facebook ID after hitting the endpoint as mentioned in Step 3 then, using your mobile device switch back to your personal account. Again, enable the business account and make the HTTP request again. This method worked for me in getting the Instagram business id.

Brodie answered 24/8, 2021 at 6:28 Comment(0)
F
0

Finally solved it. Here is what I did to accomplish it. I' not using business manager. The problem I was facing because my facebook account was not properly connected to instagram account. I thought I created instagram account with my facebook account so they were connected somehow. It was not the issues. Switching instagram account to business won't work. You need to connect your instagram account to your facebook business page.

  1. Go to your pagee
  2. Go to your page settings
  3. Find instagram > you'll see connect. Here I had some problem connecting to instagram from here by logging in with facebook won't work. Do the traditional email password connection.
  4. Last step if successfully connected it will ask you to switch your account. Click on button and done.
Fenelia answered 9/9, 2021 at 6:48 Comment(0)
C
0

I tried every solutions given here, I did add permissions and tried converting and reconverting from personal to professional business account.

What worked for me was: I went to Meta Business Suite site through my facebook page. I found my insta and facebook page were not linked even though I did connected it during insta setup. Though here I found the option to link my instagram account and it worked for me and I got the expected result.

Cymbre answered 30/9, 2023 at 10:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.