facebookarchive / fbconsole

A micro api client for writing scripts against the Facebook Graph API.
Other
325 stars 74 forks source link

Critical: Facebook API v1.0 deprecated by April 30, 2015 #33

Closed kchr closed 9 years ago

kchr commented 9 years ago

Hi,

According to Facebook the API version 1.0 (what we're currently using) is going to be deprecated by the end of April 2015.

TL; DR: This basically means fbconsole will have to be patched to include the API version number in every call to the Graph API endpoints. I am working on a patch and will issue a pull request when it's done (hopefully before the deadline...).

I received this message to my developer account at 2015-01-21:

Your app is making calls to v1.0 of the Graph API which will be deprecated on Thursday, 30 April 2015. Please upgrade your app to v2.0 or later by that date.

Relevant section from the Graph API docs[1]:

All Facebook-enabled apps will be automaticaly upgraded to API v2.0 on April 30, 2015.

Implementing Versions in your Apps

The largest change is the introduction of API versioning. Many services that Facebook offer are now versioned, such as:

  • The behavior and content of certain Graph API endpoints
  • What permissions are available and what your app can see when they are granted
  • The behavior of dialogs.

We'll introduce new versions of the API whenever we make a breaking change an existing API. APIs are supported for at least two years after they're introduced, except for v1.0, which will only be available for one year after the release of v2.0. Multiple versions of the API will be in service at the same time. We strongly encourage you to upgrade when new versions are introduced, but it's not required.

With the launch of v2.0 of the API, we have two versions in service at the same time:

  • Version 1.0, which is what we call the API as it existed the day before v2.0 was launched. We'll support v1.0 for one year and it will expire on April 30th, 2015.
  • Version 2.0, which is what this upgrade guide covers. Version 2.0 is supported for at least two years. At the earliest, it will expire on April 30th, 2016.

You can choose which version of the API you want to use by:

  • Initializing the JavaScript SDK with the version you want to use and then making calls through FB.api(), which will automatically route API calls to the versioned endpoint you choose.
  • Integrating the Facebook SDKs for iOS or Android, which are set up to call the latest version of the API that was available on the day the SDK was released.
  • For people making manual calls to our API without an SDK, the version is picked by putting the version in the path when you make an API call (such as graph.facebook.com/v2.0/me).

For apps created before April 30th 2014, making API calls without specifying a version number is equivalent to calling v1.0 of the API.

For apps created on or after April 30th 2014, making API calls without specifying a version number is equivalent to calling v2.0 of the API. These apps won't be able to call v1.0 of the API.

[1] https://developers.facebook.com/docs/apps/upgrading#v1tov2

Regards, kchr

kchr commented 9 years ago

Patch submitted with pull request #36.

psineur commented 9 years ago

Hey! @kchr Thanks for your Pull Request!

I'm engineer on Graph API team and currently if you just use get('/me') for example - this will result in earliest available version applied to your request, which will be 2.0 for now. So fbconsole isn't broken yet.

Our team wants to continue support of this project & we have few features planned already, including better version support. I will comment on Pull Request with more details in few.