gpt4 book ai didi

java - 请求 facebook v2.2 api 与 scribe 进行授权

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:32 25 4
gpt4 key购买 nike

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 ?

如果我查看发送给用户的生成的网址,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/dialog/...

这是正确的吗?至少这适用于我们的场景。

facebook 的 URL 定义如下:org.scribe.builder.api.FacebookApi并且稍后不会在代码中进行操作,因此我认为 scribe 仅支持 v1.0 facebook api。这是正确的吗?

我们自己在url中插入/v2.2/就可以连接v2.2 api吗?

亲切的问候大卫

最佳答案

注意:我从未使用过 Scribe,因为我有自己的内部编写的库

Facebook 上的 OAuth 授权流程没有改变,只是 API 改变了。因此,您的请求路径不会位于 /{object}/ 上(如果使用 Facebook v1.0),而是附加 /v2.2/{object}/

Scribe 库仅允许您更轻松地向服务提供商进行 OAuth。它链接到任何服务提供商特定的 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。

关于java - 请求 facebook v2.2 api 与 scribe 进行授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27795441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com