向 scribe 请求 facebook v2.2 api 授权
request facebook v2.2 api with scribe for authorization
facebook api v1.0 将于 2015 年 4 月 30 日到期:
https://developers.facebook.com/docs/apps/changelog
我们正在使用 scribe(当前版本 1.3.6)通过 facebook 进行登录。我们需要更新到 Facebook api v2.2,或高于 v1.0
scribe 支持连接到 facebook api v2.2 吗?
如果我查看发送给用户的生成的 url,
v1.0版本:
https://www.facebook.com/dialog/oauth?client_id=12345678901&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Findex.facebookoauthconnect%3Aauthorize&scope=email%2Cuser_birthday
如果我理解正确,我通过包含 /v2.2/ 连接到 v2.2 api,如下所示
v2.2 版本(?):
...facebook.com/v2.2/对话/...
对吗?至少这适用于我们的场景。
Facebook 的 URL 定义在:
org.scribe.builder.api.FacebookApi
并且不会在代码的后面进行操作,因此我认为抄写员仅支持 v1.0 facebook api。对吗?
我们自己将 /v2.2/ 插入 url 是否足以连接到 v2.2 api?
亲切的问候
大卫
注意:我从未使用过 Scribe,因为我有自己的内部编写库。
Facebook 上的 OAuth 授权过程没有改变,只是 API。因此,您的请求路径不会在 /{object}/
上(如果使用 Facebook v1.0),而是附加在 /v2.2/{object}/
.
上
Scribe 库仅允许您更轻松地对服务提供商进行 OAuth。它 不会 link 任何特定于 API 的服务提供商,因此您可以随意更改 API 请求路径。
您需要参考最新的Graph API reference doc。
示例:
// getting user profile
OAuthService service = new ServiceBuilder()
.provider(FacebookApi.class)
.apiKey(YOUR_API_KEY)
.apiSecret(YOUR_API_SECRET)
.build();
OAuthService service = facebookServiceProvider.getService();
OAuthRequest oauthRequest = new OAuthRequest(Verb.GET, "https://graph.facebook.com/v2.2/me"); //See how this link is appended with v2.2 path!!!
service.signRequest(accessToken, oauthRequest);
Response oauthResponse = oauthRequest.send();
System.out.println(oauthResponse.getBody());
我建议学习upgrading changes from Graph v2.1 to Graph v2.2。您不应该担心身份验证过程,而应该担心图形 URL.
facebook api v1.0 将于 2015 年 4 月 30 日到期: https://developers.facebook.com/docs/apps/changelog
我们正在使用 scribe(当前版本 1.3.6)通过 facebook 进行登录。我们需要更新到 Facebook api v2.2,或高于 v1.0
scribe 支持连接到 facebook api v2.2 吗?
如果我查看发送给用户的生成的 url, v1.0版本: https://www.facebook.com/dialog/oauth?client_id=12345678901&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Findex.facebookoauthconnect%3Aauthorize&scope=email%2Cuser_birthday
如果我理解正确,我通过包含 /v2.2/ 连接到 v2.2 api,如下所示 v2.2 版本(?): ...facebook.com/v2.2/对话/...
对吗?至少这适用于我们的场景。
Facebook 的 URL 定义在: org.scribe.builder.api.FacebookApi 并且不会在代码的后面进行操作,因此我认为抄写员仅支持 v1.0 facebook api。对吗?
我们自己将 /v2.2/ 插入 url 是否足以连接到 v2.2 api?
亲切的问候 大卫
注意:我从未使用过 Scribe,因为我有自己的内部编写库。
Facebook 上的 OAuth 授权过程没有改变,只是 API。因此,您的请求路径不会在 /{object}/
上(如果使用 Facebook v1.0),而是附加在 /v2.2/{object}/
.
Scribe 库仅允许您更轻松地对服务提供商进行 OAuth。它 不会 link 任何特定于 API 的服务提供商,因此您可以随意更改 API 请求路径。
您需要参考最新的Graph API reference doc。
示例:
// getting user profile
OAuthService service = new ServiceBuilder()
.provider(FacebookApi.class)
.apiKey(YOUR_API_KEY)
.apiSecret(YOUR_API_SECRET)
.build();
OAuthService service = facebookServiceProvider.getService();
OAuthRequest oauthRequest = new OAuthRequest(Verb.GET, "https://graph.facebook.com/v2.2/me"); //See how this link is appended with v2.2 path!!!
service.signRequest(accessToken, oauthRequest);
Response oauthResponse = oauthRequest.send();
System.out.println(oauthResponse.getBody());
我建议学习upgrading changes from Graph v2.1 to Graph v2.2。您不应该担心身份验证过程,而应该担心图形 URL.