Can I use still Facebook API ver1.0? If create new app, can I use that?


Facebook api ver1.0 can not use by the app that was created after 2014-4-30.
Even if you specify that use api version is v1.0 when calling api, you could not use that.
(To be exact, api is called as v1.0, but that api’s behavior is same as v2.0.)

On the other hand, on the app that was created before 2014-4-30, api is called as v1.0, and that api’s behavior is exactly v1.0.
And if you specify that use api version is v2.0 when calling api, you can use v2.0 api.

Why it was changed at before 2014-4-30 and after?

Facebook hosted the conference for developers at 2014-4-30. That is called “f8”.
They announced the version management for api, and that migration schedule at the “f8”.

Please check the following post, this blog is summarizing “f8” in detail very well.

f8 2014 の発表: API バージョニングと注意点 : Facebook開発者向けドキュメントの日本語訳とTips

The api version1.0(that is the old version.) is supported for 1 year from the day of “f8”, because the api verion2.0(that is the new version.) was released at the “f8”.

What is the difference between v1.0 and v2.0 ?

There are various difference. Above all, the changes about app’s permissions are especially important.
These changes are described in the following post, please also check this.

Facebookログイン Version2.0(アプリのパーミッション仕様変更)

In these changes, if your app need to use some permissions(except some permissions), you need submit review about the app’s permission to facebook, and that is approved.
Both of reading permission and writing permission cannot use unless review is approved.
And scope name was changed at writing permission.
(The scopes named “publish_stream” and “photo_upload” were abolished, unite into new scope named “publish_actions”.)

Is it true that the api version 1.0 cannot use by the app that was created after 2014-4-30 ?

As i wrote the beginning, it is true.
(If you know how to do, please tell me.)

I was looking for some information about this(at Stack Overflow, etc), but could not find that.

So, I tried by myself once.

		appId   : '{app-id}',
		xfbml   : true,
		version : 'v1.0',
		status  : true,
		cookie  : true,
		oauth   : true

As above, you can set api version to “v1.0” at “version” param in “FB.init”.
Then, set “{app-id}” to app’s id(that app was created after 4-30.), and set scope to “publish_stream” permission in “FB.login”.
It might be able to post to wall, if you can use api version 1.0.

Demo Page

↑This is demo page.

App id that is set was created after 4-30.
As result, it could not work.
When FB.login dialog was opened, it seemed that version was called as “v1.0” by GET param, but that behavior was same as “v2.0”.
Of course, you can not post to wall anything by demo page, because “publish_stream” permission can not use by api “v2.0”.

*When you click the login button at demo page, you go to the Facebook login, and app’s permission dialog will open.
*Even if you were to approve the permission, nothing would be posted to wall.If it should be posted, the “Hello World” message would be posted to your wall. so please delete that by yourself.

Therefore, we need to start migration to version 2.0.
Please also check the following posts , that is described about the review of app’s permission(especially publish_actions) to facebook team.