Wizcorp / phonegap-facebook-plugin

The official plugin for Facebook in Apache Cordova/PhoneGap
Other
1.91k stars 2k forks source link

Graph API v2.1 Upgrade Notice #1284

Open jb-angus opened 8 years ago

jb-angus commented 8 years ago

Facebook today sent me this notice

App Name has been making recent API calls to Graph API v2.0, which will reach the end of the 2-year deprecation window on Monday, August 8, 2016. Please migrate all calls to v2.1 or higher in order to avoid potential broken experiences.

I am guessing it is this plugin that is making calls to the v2.0 API. The only place I can see this set is infacebookConnectPlugin.js...

browserInit: function (appId, version) {
      if (!version) {
          version = "v2.0";
      }
      FB.init({
          appId      : appId,
          cookie     : true,
          xfbml      : true,
          version    : version
      });
}

Should it just be a matter of bumping this version, or do the native frameworks also need to be updated? Thanks.

andrewbusch7 commented 8 years ago

We've received this as well. Given there hasn't been a commit since Nov 2015, it looks like this repo is no longer supported. Time to find another one!

jb-angus commented 8 years ago

Despite the lack of updates, it still works. If there is an easy fix for this, I'd rather that over having to re-engineer everything again. Will try bumping this version number and will see what the result is.

andrewbusch7 commented 8 years ago

@jb-angus Ok cool, keen to hear how it goes

akships commented 8 years ago

@jb-angus changing the version number on the code you presented will only affect the browser version of your service not the iOS or Android APPS.

Facebook API calls are relative to the SDK version you're using, so basically you have to update your facebooksdk in plugins -> com.phonegap.plugins.facebookconnect -> platforms -> iOS -> FacebookSDK.framework (same for Android).

You can download from here : https://developers.facebook.com/docs/ios/downloads.

However, if you do not want to update the SDK you use, you can overwrite the graph version to call using specific functions, see "Upgrading iOS Apps" section here : https://developers.facebook.com/docs/apps/upgrading/

Hope this helps !

IvaAndreeva commented 8 years ago

Hi! I have the same issue, but a bit more complicated one - I'm using this plugin via Phonegap Build and so I can't just change the source code... I really hope this is going to be resolved in some way, I've been using this plugin for a while now and it works ok, I would really hate if I have to find another one.

Corvi2 commented 8 years ago

I decided to switch to this fork https://github.com/jeduan/cordova-plugin-facebook4 which is running with API 2.4. Switching was very easy. cordova plugin remove this, then install fork as described in it's readme, and it runs. no code changes needed.

IvaAndreeva commented 8 years ago

@Corvi2 Hey! Thanks for the fast response :) I switched to it too, the problem was that it was giving me some errors because of my push notifications plugin which could be fixed only by build-extras.gradle - which you cannot do with phonegap build so long story short i switched to https://github.com/jeduan/cordova-plugin-facebook4 and then switched my push notifications plugin as well :D thanks!

andrewbusch7 commented 8 years ago

@IvaAndreeva Highly recommend changing to local build with Cordova. We swapped from PGB a while back, no regrets. Much faster builds, and way more flexibility if something ever needs to be tweaked.

jb-angus commented 8 years ago

Thanks for advice everyone. I am having had a bunch of issues with the permissions changes introduced in v2.3. From the notification, I thought that after August 8 the API calls would fail, but the docs state:

For APIs, once a version is no longer usable, any calls made to it will be defaulted to the next oldest usable version.

So the just means they will default to 2.1 after August 8 2016 and then 2.2 after October 30 2016. Since I don't believe there are any breaking changes (for me) in 2.0 > 2.1 I am a little less worried about having to patch this immediately. Will definitely be checking out the fork suggested by @Corvi2.

andrewbusch7 commented 8 years ago

I don't want to tread on repo owner's toes too much by recommending another repo, but it seems support has stopped for this plugin, so I will.

I've swapped over to https://github.com/jeduan/cordova-plugin-facebook4 today, and have verified that it's working on Graph API v2.5. Tested my app's functionality (login, request post permissions, custom JavaScript API calls using FB token), and it's working fine.

IvaAndreeva commented 8 years ago

@andrewb273 thanks for the advice! I probably will migrate to local build soon :)

ghost commented 8 years ago

Is everyone abandoning this plugin now then? No chance of it being updated by the author? (I know its been a while!)

andrewbusch7 commented 8 years ago

@ZeroT I am. Can't risk running on an old, unsupported plugin.

ghost commented 8 years ago

@andrewb273 I have switched to jeduan/cordova-plugin-facebook4 but having all sorts of problems with non active access_tokens

dparrella commented 8 years ago

You can work around this issue in web browsers at least by passing in a valid version to facebookConnectPlugin.browserInit(app_id, version). Version format could be 'v2.7'.

razwasserstein commented 8 years ago

Hi, I have an ios app which I'm building with build.phonegap.com. I tried to switch to the cordova-plugin-facebook4 so I add to the config.xml file

`

    <variable name="APP_NAME" value="x" />
</plugin>`

and got the error - _Error - One of your plugins requires a parameter: APP_ID, APPNAME

what am I doing wrong?

sjorsvanmierlo commented 8 years ago

@razwasserstein you should add your plugin trough the command line. Something like "cordova add plugin cordova-plugin-facebook4 --variable --APP_ID "APP ID HERE" --variable --APP_NAME "APP NAME HERE"

Or something like that, I can not ensure you at the moment.

andrewbusch7 commented 8 years ago

@razwasserstein this is off-topic of this issue, can you please start a new issue for your problem?