- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看了几个关于这个问题的帖子,但没有找到解决方案。
facebookLoginButton = (LoginButton) findViewById(R.id.facebook_login_button);
facebookLoginButton.setReadPermissions(Arrays.asList("read_stream", "user_photos", "email", "user_location"));
// create callback manager for facebook
callbackManager = CallbackManager.Factory.create();
facebookLoginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "LOGGED IN");
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.d(TAG, "Facebook graph response: " + response.toString());
try {
// get only the part before the @ symbol
String email_username = object.getString("email").substring(0, object.getString("email").indexOf("@"));
editor = preferences.edit();
editor.putString("username", email_username);
editor.commit();
Log.d(TAG, "logging in user " + preferences.getString("username", "") + " with userID: " + preferences.getString("userID", ""));
SpinLoginTask spinLoginTask = new SpinLoginTask(LoginActivity.this);
spinLoginTask.execute("facebook");
} catch (Exception e) {
e.printStackTrace();
}
}
});
request.executeAsync();
}
我收到以下回复:
Facebook graph response: {Response: responseCode: 200, graphObject: {"name":"Spin Tester","id":"xxxxx"}, error: null}
org.json.JSONException: No value for email
既然我在按钮上设置了读取权限以提供所有信息,为什么它没有出现在图形请求响应中?
最佳答案
试试我一直使用的这段代码:EDIT
实际上,您需要更改一小部分代码:
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.d(TAG, "Facebook graph response: " + response.toString());
try {
// get only the part before the @ symbol
String email_username = object.getString("email").substring(0, object.getString("email").indexOf("@"));
editor = preferences.edit();
editor.putString("username", email_username);
editor.commit();
Log.d(TAG, "logging in user " + preferences.getString("username", "") + " with userID: " + preferences.getString("userID", ""));
SpinLoginTask spinLoginTask = new SpinLoginTask(LoginActivity.this);
spinLoginTask.execute("facebook");
} catch (Exception e) {
e.printStackTrace();
}
}
});
//ADD THIS LINES PLEASE
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");
request.setParameters(parameters);
request.executeAsync();
}
关于Android Facebook GraphRequest 不返回电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38535143/
我看了几个关于这个问题的帖子,但没有找到解决方案。 facebookLoginButton = (LoginButton) findViewById(R.id.facebook_login_
我希望用户能够使用 Facebook SDK 注册我的 Android 应用程序。为了获取他们的信息,我正在执行具有“email”和“public_profile”权限的 GraphRequest。根
我正在使用 Facebook SDK 通过 Swift 3 登录 iOS。 这是我的代码。问题是没有返回任何值。 import UIKit 类 View Controller :UIViewContr
我已经创建了一个应用程序,它具有使用 Facebook 登录/注册的选项。该功能对某些配置文件运行良好,但会导致其他配置文件出现问题。我想从用户的个人资料中获取以下数据: id,name,email,
我正在使用 Facebook SDK 4.16.1 通过使用 Profile 我可以获得 first name, last name, name and id 我的代码是这样的 public clas
Facebook 最近将他们的 SDK 更新到 V 2.0,实际上我的应用程序必须升级才能调用 v2.0 或更高版本。一些修改是 *Session 被 Accesstoken 取代。 到目前为止,我可
我的 Android 应用程序中有一个 Facebook 登录选项,但我试图获取用户的电子邮件失败。用户登录并添加到 Parse.com 用户表(使用有效的访问 token )后,我请求 Facebo
我正在尝试按照此处提供的入门示例进行操作:https://components.xamarin.com/gettingstarted/facebookios 以下 GraphRequest 在主线程中
尝试让我的 Android 应用程序获取登录 Facebook 用户的电子邮件、生日和位置。可以成功检索前两个字段,但图形 API 的响应中缺少位置,我不明白为什么。 我正在使用这些权限登录: Log
我正在制作需要从 Facebook 获取数据的应用程序。为了避免重复代码,我决定为 GraphRequest 创建一个类。 public class FacebookRequest { private
我正在尝试使用 Facebook API 允许用户登录我的应用程序,登录操作成功完成,并且我获得了访问 token ,但是当我使用 GraphRequest 获取用户信息时,它的响应和对象返回 nul
我正在使用新的 Facebook 图表请求: let parameters = ["fields": "id, name, gender"] let nextreque
我一直在尝试完全遵循 Facebook 的文档,但无法理解为什么我的代码不起作用,即使它与文档中的代码完全一样。我已经在我的应用程序上登录 Facebook,但我需要获取个人资料数据。 这是我的功能。
我用这段代码上传一张图片: FBSDKGraphRequest(graphPath: "me/photos", parameters: params as [NSObject : AnyObj
我几乎 95% 的用户都顺利通过了登录过程,但有时我在尝试时遇到此异常:editor.putString("fbId", id)。为什么?如果 onSuccess 被调用,我假设该对象已经被填充,那么
我正在尝试使用 React Native Facebook SDK 获取高分辨率图片,但默认图像质量很差。它是 50x50 和非常低的分辨率。 请求: new GraphRequest('/13512
我正在编写一个 Android 应用程序,我需要用户使用 Facebook 登录。 登录工作正常,我也得到了一张个人资料图片,但图片的分辨率非常低 - 大约 50 px x 50 px。有没有可能得到
我正在使用来自 react-native-fbsdk 的 GraphRequest 从我的应用程序发布到 FB。具体来说,我正在尝试发布指向外部托管的 mp4 视频的链接,因此网址为 https://
我最近在我的项目中将我所有的 pods 和 swift 语言更新为 Swift 5 并且收到了大量错误消息,我已经慢慢解决了这些错误消息。 然而,我正在努力解决这个问题,Facebook GraphR
我需要从 facebook 获取 age_range。 当我在我的 GraphRequest.newGraphPathRequest 中使用 /me?fields=age_range 时,出现错误。
我是一名优秀的程序员,十分优秀!