Do I have to create an app using the original Instagram API before i can use the instagram graph API? - facebook

I'm trying to create an app with the new Graph API for instagram business accounts.
I am following the documentation here
It says after adding Facebook login, I need to submit the app for review to be able to use the api, and I need to create a screencast on how the app will be used.
Am I looking at the wrong documentation? How am I suppose to create the app without being able to pull any data from the API?
Is there no sandbox mode until the app is developed that I can use?
Do I have to create an app using the Instagram API first to be able to request permissions to use it?

While I haven’t had any experience in Instagram apps, I do have a bit of Graph API experience with Facebook
While in development (a switch at the top of the App Dashboard), any developers and administrators can test the app using any and all permissions. To make the app public however you need to submit for review.

The new instagram graph API is an extension of the existing Facebook API.
So you can make requests on the new API by have a facebook login on your app, then requesting access for the users pages and the users instagram data.
Once you are able to access their pages data you can submit a get request and fetch ?fields=instagram_business_account
once you get the instagram accounts ID, you can make requests on it following this documentation
In development you can only access your own pages, once you build using your own data then you can submit your app for permissions, and finally you can submit your app for review.

Related

Facebook Marketing API permanent Access Token?

I'm building an app which acts as a simplified layer of the Facebook Ads manager. It can create ads trough the Facebook marketing api.
There are also other services such as adespresso or manychat which offer such a service.
Now I'm wondering about the following: when a user in my app authenticates, I get a short-lives user-access-token. As far as I understand the documentation, there is no way of refreshing this token. The user would need to login again.
When I look at the above mentioned apps however, I stay authenticated. I don't have to re-authenticate each time I'm using the app. So does anyone have a suggestion of how to do it like them?

Instagram API deprecation

I have an app that uses Instagram Login to use authenticate the users to the APP and the API which I using for this shown below
http://api.instagram.com/oauth/authorize/?client_id={client_id}&redirect_uri=http://localhost:8585&response_type=code
Is this API is going to deprecate should I move to Instagram basic display API for the same
Thanks in advance :)
Based on what is written here, you shouldn't use Instagram Basic Display API for authentication users to login to mobile app, but only to read and display data from Instagram. If your app uses API data to authenticate users, it will be rejected during App Review. You should use rather Facebook Login for authentication.

Why is the Instagram Graph API webhook not working

I am not able to get webhook calls when another user post a comment (with mentions) on another/my media.
Just for testing purposes I set up a ngrok server for my webhook endpoint, which always answers with a 200 and handles the verfication. Before the heavy coding I just wanted to see if the webhook workflow for Instagram is generally working.
I created a Facebook app, an Instagram business account, a Facebook page and linked the page with the Instagram business account. With the information at Webhooks for Instagram I created a page access token with the Graph API Explorer. When I debug the token with the Access Token Debugger, everything looks fine. All needed permissions like manage_pages, pages_show_list, instagram_basic, instagram_manage_comments, instagram_manage_insights, public_profile are there. With the page access token I am able to fetch all informations regarding my linked Instagram business account via the Graph API Explorer.
Also the Instagram product was automatically added to my Facebook app. Test requests, which where send via the app dashboard (Webhooks product), will be received by my ngrok server. But any type of mentions or comments from another or my Instagram account (business or not) on my or other medias will not be received. What am I doing wrong? Do I have to send those comments/mentions from a specific account, since the app is in development mode and there roles in the app?
After speaking with the Facebook support, my confusion has been resolved.
The problem is that the Webhook for the Instagram product does not work without a verified app review. I had been wondering how to record a screencast with my running solution, without running webhooks... Above all, I had wondered why the webhooks in dev mode worked for the product messenger but not for instagram (or others). Apparently, the app review is not about the technical implementation but rather about checking that the implementation complies with the facebook guidelines. Therefor I want to quote the Facebook support:
Messenger does allow page owners and app admins to receive webhooks for their implementations in devmode and is by design. However, this is not the same for instagram or pages. This is just how the product teams have decided to implement it. For app review, you can show a mock process of the flow, using either the test webhook or your own process. The app review is less about technical implementation steps, but just a way to make sure that your app is going to use the permission in a way that follows our guidelines, so mocking the procedure should be fine. The reviewers understand that you do not receive webhooks in dev mode and should take this into consideration.
Consequently, I will now have to submit an app review and for that I have to imitate the webhook.

New connect Instagram feature using Instagram graph API

My requirement is to add the feature of Instagram connect and fetch their post/medias.
So I am referring this link Instagram APIs for Instagram connect feature in my android app to fetch user posts of Instagram. as written in document Instagram developer APIs are going to deprecated in early 2020. so I read this new link Instagram Graph API of Instagram graph APIs.
So the problem is I am uncleared with the flow of connect Instagram feature using graph APIs.
So below are my queries:
If I need to connect Instagram and want to fetch their post/media
Do we need to authenticate with Instagram or Facebook?
What will be the flow of it for the user experience?
And all the user that want to connect with Instagram. they have to create Facebook page and link Instagram account to Facebook page?
Or we only need to configure developer account with these steps Instagram Graph API
Thanks
Happy Coding....
The "old" Instagram API is going to be deprecated soon. You should use Facebook Graph API instead. However you need to keep in mind that at the moment Facebook Graph API supports only Instagram Business Accounts. It is not possible to fetch Instagram posts for "regular" Instagram accounts. If you need to support both, you have to apply for both APIs - Instagram API and Facebook Graph API.
With old API you need to authenticate via Instagram login flow. With new Graph API you need to go via Facebook login.
User needs to connect his/her account to your app. Depends on API you are planning to use, but user will have to go either through Instagram (regular accounts) or Facebook (business accounts) and approve access for your app to their content.
Yes, if you plan to use Facebook and Graph API. The requirement for Instagram Business Account is to have Facebook page connected to Instagram account. It is not required for regular accounts and Instagram old API. However you can also access business accounts from old API too;)
It really depends on your use-case. If this is only internal app and you plan to support your personal Instagram account, you cna basically configure the developer account only. But if you plan to release the app to global account you need to go through verification process and app review on Facebook.

How to make a messenger chat bot without a facebook app and webhook?

I went through the documentation for creating a chatbot for messenger platform.
All I find there, I need a server, which in the case used as a service for the Facebook platform.
The server also validates the webhook from facebook app.
Now I see, for a chatbot, I need a facebook app, webhook server and definitely a facebook page.
Then I find an application Flow XO, where I only put the page name and the bot is ready.
My question is, how they(flow.xo) can communicate facebook page without a Facebook app(appId, appSecret) and webHook.
My question is, how they can communicate facebook page without a Facebook app(appId, appSecret) and webHook.
They can’t.
They use their server and their app to communicate with the API, on behalf of the users that grant them access to their pages, by providing the necessary permissions when they log in to that app.
Facebook allows to create a Facebook App which integrates multiple chatbots. At Amio, we ask you for permission using Facebook OAuth. When you give us these permissions we send and receive message on your behalf. This allows you to create a chatbot using Amio API without need of creating a Facebook App.
Facebook Page is always needed as this is the entry point of users interacting with your bot. You can check Amio documentation for more detail.