检索 facebook 帐户的电子邮件信息
Retrieve email information of facebook account
当我拿到facebook代码的时候,我是这样设置scope的:
OAuthClientRequest request = OAuthClientRequest
.authorizationProvider(OAuthProviderType.FACEBOOK)
.setClientId(FacebookConfig.APP_ID)
.setRedirectURI(FacebookConfig.APP_REDIRECT_URI)
.setScope("email")
.buildQueryMessage();
现在,在 facebook 帐户的应用程序信息中,我可以看到提供给应用程序的信息包含电子邮件地址。
但是当我检索信息时:
OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());
OAuthClientRequest bearerClientRequest =new OAuthBearerClientRequest("https://graph.facebook.com/me")
.setAccessToken(accessToken)
.buildQueryMessage();
OAuthResourceResponse resourceResponse=oAuthClient.resource(bearerClientRequest, OAuth.HttpMethod.GET, OAuthResourceResponse.class);
有任何关于电子邮件地址的信息:
{"name":"AAAAA BBBBB","id":"12345678901234567"}
怎么了?
谢谢
如果您使用的是 Graph API v2.4,则需要明确指定要检索的每个字段。
例如
OAuthClientRequest bearerClientRequest =new OAuthBearerClientRequest("https://graph.facebook.com/me?fields=id,name,email")
.setAccessToken(accessToken)
.buildQueryMessage();
当我拿到facebook代码的时候,我是这样设置scope的:
OAuthClientRequest request = OAuthClientRequest
.authorizationProvider(OAuthProviderType.FACEBOOK)
.setClientId(FacebookConfig.APP_ID)
.setRedirectURI(FacebookConfig.APP_REDIRECT_URI)
.setScope("email")
.buildQueryMessage();
现在,在 facebook 帐户的应用程序信息中,我可以看到提供给应用程序的信息包含电子邮件地址。
但是当我检索信息时:
OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());
OAuthClientRequest bearerClientRequest =new OAuthBearerClientRequest("https://graph.facebook.com/me")
.setAccessToken(accessToken)
.buildQueryMessage();
OAuthResourceResponse resourceResponse=oAuthClient.resource(bearerClientRequest, OAuth.HttpMethod.GET, OAuthResourceResponse.class);
有任何关于电子邮件地址的信息:
{"name":"AAAAA BBBBB","id":"12345678901234567"}
怎么了?
谢谢
如果您使用的是 Graph API v2.4,则需要明确指定要检索的每个字段。
例如
OAuthClientRequest bearerClientRequest =new OAuthBearerClientRequest("https://graph.facebook.com/me?fields=id,name,email")
.setAccessToken(accessToken)
.buildQueryMessage();