Instagram API deprecation 2020 - facebook

I'm building an app that has the user log in through instagram, it then reads their feed and uses that information for the app. Instagram has a page that says their API's will be deprecated in 2020 but some things will still work. It's not straightforward as to what is being deprecated and what isn't, and I have not found any way to contact them directly. Does anyone know if the following URL will continue working, and if not if this type of app will even be viable in the future? Why is IG and Facebook becoming much more closed platforms to 3rd party integrations?
https://api.instagram.com/v1/users/self/media/recent/
Deprecation notice:
https://www.instagram.com/developer/

The legacy Instagram API - https://www.instagram.com/developer/ will be deprecated in favor of Instagram Graph API provided by Facebook - https://developers.facebook.com/docs/instagram-api
In order to use https://api.instagram.com/v1/users/self/media/recent/ this endpoint you need Basic permission. As documentation says, it will be deprecated in early 2020, which means that the legacy API will be most probably shut down, since there will be no more capabilities to request for.
You should most definitely start building your app with Graph API. Please keep in mind that it takes some time before you can go live with your app. It requires couple of things like Business Verification, review of requested permissions in App review and it can take some time to be able to go live.
Please keep in mind that the Graph API works only for Instagram Business type of accounts. You can't use it for regular accounts at the moment. It is not clear yet if it will be available for all accounts, but most probably it will be in the future. It was the same as with deprecating Public Content permission on Instagram legacy API. They added similar functionality in Graph API.
If you plan to support all users, you will also have to apply for Basic capability in legacy API. In other words, you need to support both Instagram API and Instagram Graph API if you plan to target all Instagram users, both regulars and Business profiles.
Another thing to keep in mind is that you can't really report bugs or get any help from legacy Instagram API. If you will find the bug you can't report it as they do not accept it due to deprecation.
So start building with Instagram Graph API, once you will be good to go, try to add Instagram legacy API support. If everything will be fine and Facebook will add support for legacy accounts, your Graph API should easily take over Instagram legacy API functionality.
Most probably the reason why they are tightening the integrations and makes it harder for the developers is user privacy. They do not want to have yet another incident like Cambridge Analytica for instance.

It does not make sense to build something with the old API, that old API URL will definitely stop working (with all the old api.instagram.com endpoints). There is a new API though: https://developers.facebook.com/products/instagram/

Related

Connect App Flutter with API instagrame Publish comment

I have a question about connecting my app, made with Flutter, with the Instagram API.
I want the user to register with their account, store the access token and then send a post to the API to publish a comment or add a like.
Can I do this with Flutter or do I need to use a different language like Python?
I checked the API documentation that Instagram provides and it seems that you can only do read-only requests (liking a post might not be possible).
The API you mentioned in your tags will not work with personal accounts, as Instagram states:
The API cannot access Instagram consumer accounts (i.e., non-Business or non-Creator Instagram accounts). If you are building an app for consumer users, use the Instagram Basic Display API instead.
You can try to use the mentioned Basic Display API instead, but mind you won't be able to author any posts or do actions in behalf of the user. To circumvent this, you might have to reverse-engineer the frontend facing portion of Instagram but I won't go into that.
To come back to your question, Flutter is well able to send network requests as mentioned here, but you still have a long way until you have functioning access to Instagram (check the Getting Started).

Is there a way to use POST/GET Requests for messages, on your Personal Profile on Facebook Messenger

I've looked through the API and it's all for Facebook Pages to set up a Chatbot.
I wanna be able to set up a Webhook/Listener for chats/messages on my personal profile (to mess around a little).
I'm asking cos I can see unofficial Messenger apps on the Play Store, and they don't look like just a web implementation.
No, there is no way to do that using the official APIs.
Read access to user conversations has been removed a long while ago already, and there is no webhook functionality for this either.

What choose Instagram Graph API or old API

I wonder if it is possible to use a new Instagram Graph API only for hobby purpose(small java application). The main aim is to process only user's data that is currently log in on instagram(not other's user data). Generally I'm a beginner on this field and I try to determine my chances for writing this kind of application, because I've read that sometimes it is hard to get permission to API from facebook, so maybe somebody know how it works in practice?
From what I can tell on the docs site, the Graph API is only used if you're making something for Business Accounts. The docs say that if making something for non-business users, to use the old API.
Reference here: https://developers.facebook.com/docs/instagram-api
I personaly suggest you to use new graph API, because older API support may be disabled in future and might be deprecated in future.
Moreover, Facebook does not give permission easily but you give proper & exact content if allows you and provide great support.

How to get user data now with restrictions on instagram platform api?

There have been lots of changes to the facebook api recently, which now includes the instagram api as well. https://www.instagram.com/developer/changelog/
They have shutdown a lot of endpoints way ahead of schedule and has created a huge problem for my application which integrates instagram user data. They have the instagram graph api now, but looks like it can be used only for business accounts (looked like that prima facie). Reading through the news past couple of days, I am really confused about what is available and what is not. My application used to get user data (number of followers, recent posts, reach, likes, etc) using the instagram handle provided by users. Since this is totally restricted on the platform api now, is there a way I can have the same functionality using the new graph api? Or should I look into 3rd party APIs? I am open to asking users for authentication (I already have the facility). Can the user information be fetched after they authenticate my app to do so?
You can use the following Graph API to get all the details for any IG business account.
https://developers.facebook.com/docs/instagram-api/business-discovery

Get a users Facebook Credits Balance

We are in the process of implementing Facebook Credits as a virtual currency on Facebook.
We have applied and have been whitelisted for access to the Facebook Credits balance method, however from the little documentation I had been able to find (mostly forum posts) it doesn’t seem to be working!
I am using the following url to get a user’s Credits balance: https://api.facebook.com/method/users.getStandardinfo?fields=credit_balance&format=json&uids=FB_USER_ID&access_token=DEVELOPMENT_APP_ACCESS_TOKEN
And I am getting the following error back:
"error_code": 13, "error_msg": "The underlying FQL query made by this
API call has encountered the following error: credit_balance is not a
member of the user table.",
Can you confirm that the above URL is correct, and if not point me in the direction of some documentation, after about an hour of searching in the docs I have come up with nothing!
First, the REST API is being deprecated and you should be using the new Graph API. See: https://developers.facebook.com/docs/reference/rest/
We are in the process of deprecating the REST API. If you are building
a new Facebook application, please use the Graph API. While there is
still functionality that we have not ported over yet, the Graph API is
the center of Facebook Platform moving forward and where all new
features will be found.
Also on https://developers.facebook.com/docs/reference/rest/users.getStandardinfo/ there is no field called credit_balance.
I also went to https://developers.facebook.com/docs/reference/fql/user/ and no field called credit_balance there too.
But I did go to https://developers.facebook.com/docs/credits/ and read up on the credits. It appears they've removed the ability for an app to get that information in lieu of their Facebook's new credit dialogs that don't require the app to need to know a user's credit balance as Facebook will display it to the user for the app in their dialog.
You can learn about how to integrate the new dialogs by following the guide here: https://developers.facebook.com/docs/credits/build/
My belief is that too many boneheads abused the privilege of know a user's credit level to their advantage and so this "feature" was removed.