解析和Facebook SDK accessToken返回null
我正在尝试使用Facebook Graph Api和Parse Api提取信息。调用Graph API时,GraphRespone为null。问题是因为accessToken为null,但在尝试了许多不同的方法后,我无法确定如何修复解析和Facebook SDK accessToken返回null,facebook,parse-platform,graph,Facebook,Parse Platform,Graph,我正在尝试使用Facebook Graph Api和Parse Api提取信息。调用Graph API时,GraphRespone为null。问题是因为accessToken为null,但在尝试了许多不同的方法后,我无法确定如何修复 buttonSignUpWithFacebook.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View
buttonSignUpWithFacebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// this is where you can begin doing facebook sign up process
Log.i(TAG, "did click on facebook button");
List<String> permissions = Arrays.asList("user_location", "user_friends", "email", "public_profile");
ParseFacebookUtils.logInWithReadPermissionsInBackground(SignUpActivity.this, permissions, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException err) {
if (user == null) {
Log.d("App", "Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew()) {
Log.d("App", "User signed up and logged in through Facebook!");
startActivity(new Intent(SignUpActivity.this, Home.class));
} else {
Log.d("App", "User logged in through Facebook!");
setupUser();
startActivity(new Intent(SignUpActivity.this, Home.class));
}
}
public void setupUser() {
accessToken = AccessToken.getCurrentAccessToken();
}
});
GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
if (response != null) {
try {
String email = object.getString("email");
String firstName = object.getString("first_name");
Log.d(TAG, "first name " + firstName);
} catch (JSONException e) {
e.printStackTrace();
}
// String firstName = jsonResponseObject.getFirstName();
// String lastName = jsonResponseObject.getLastName();
}
}
});
Bundle param = new Bundle();
param.putString("fields","cover, birthday, email, first_name, last_name, ");
request.setParameters(param);
request.executeAsync();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ParseFacebookUtils.onActivityResult(requestCode, resultCode, data);
}
buttonSignUpWithFacebook.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//这就是你可以开始facebook注册过程的地方
Log.i(标签“点击facebook按钮”);
列表权限=Arrays.asList(“用户位置”、“用户朋友”、“电子邮件”、“公共配置文件”);
ParseFacebookUtils.logInWithReadPermissionsInBackground(SignUpActivity.this,permissions,new LogInCallback()){
@凌驾
公共无效完成(ParseUser用户,ParseException错误){
if(user==null){
Log.d(“应用程序”,“哦,用户取消了Facebook登录。”);
}else if(user.isNew()){
Log.d(“应用程序”,“用户注册并通过Facebook登录!”);
startActivity(新意图(SignUpActivity.this、Home.class));
}否则{
Log.d(“应用程序”,“用户通过Facebook登录!”);
setupUser();
startActivity(新意图(SignUpActivity.this、Home.class));
}
}
public void setupUser(){
accessToken=accessToken.getCurrentAccessToken();
}
});
GraphRequest request=GraphRequest.NewMereRequest(accessToken,new GraphRequest.GraphJSONObjectCallback(){
@凌驾
未完成公共无效(JSONObject对象,GraphResponse响应){
if(响应!=null){
试一试{
String email=object.getString(“email”);
String firstName=object.getString(“first_name”);
日志d(标签“名字”+名字);
}捕获(JSONException e){
e、 printStackTrace();
}
//String firstName=jsonResponseObject.getFirstName();
//字符串lastName=jsonResponseObject.getLastName();
}
}
});
Bundle param=新Bundle();
参数putString(“字段”、“封面、生日、电子邮件、名、姓”);
请求。设置参数(参数);
request.executeAsync();
}
});
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
ParseFacebookUtils.onActivityResult(请求代码、结果代码、数据);
}
我不想给出模糊的答案,但我认为问题不在代码片段中。我建议您修改步骤,并确保再次完全遵循这些链接: