无法使用 Facebook sdk 4.0.1 在 android 中使用现有 AccessToken 设置额外权限
Unable to set additional permissions with existing AccessToken in android with Facebook sdk 4.0.1
我最初使用 loginButton.setReadPermissions( "user_friends");
,但我将权限更改为 loginButton.setReadPermissions( Arrays.asList("public_profile, email, user_birthday,user_friends"));
。现在我无法从用户个人资料中获取必填字段并在 logcat 中出现此错误无法使用现有的 AccessToken 设置其他权限。
编辑
protected void onCurrentAccessTokenChanged(AccessToken old, AccessToken newToken) {
final ProgressDialog pDialog = new ProgressDialog(getActivity());
GraphRequest request = GraphRequest.newMeRequest(
newToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
pDialog.dismiss();
Log.v("LoginActivity", response.toString());
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday");
request.setParameters(parameters);
pDialog.setMessage("Loading Channels....");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
request.executeAsync();
}
};
我的生日和电子邮件地址为空。我怎样才能得到这两个?提前致谢。
public个人资料、用户好友、邮箱等基本信息无需重新认证。登录成功后可以发送图请求,
GraphRequest request = GraphRequest.newMeRequest(
AccessToken.getCurrentAccessToken(),new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object,GraphResponse response) {
try {
String email=object.getString("email");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
request.executeAsync();
但是为了获得 B'day,您必须提交应用以供审核,请阅读此处 description
我最初使用 loginButton.setReadPermissions( "user_friends");
,但我将权限更改为 loginButton.setReadPermissions( Arrays.asList("public_profile, email, user_birthday,user_friends"));
。现在我无法从用户个人资料中获取必填字段并在 logcat 中出现此错误无法使用现有的 AccessToken 设置其他权限。
编辑
protected void onCurrentAccessTokenChanged(AccessToken old, AccessToken newToken) {
final ProgressDialog pDialog = new ProgressDialog(getActivity());
GraphRequest request = GraphRequest.newMeRequest(
newToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
pDialog.dismiss();
Log.v("LoginActivity", response.toString());
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday");
request.setParameters(parameters);
pDialog.setMessage("Loading Channels....");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
request.executeAsync();
}
};
我的生日和电子邮件地址为空。我怎样才能得到这两个?提前致谢。
public个人资料、用户好友、邮箱等基本信息无需重新认证。登录成功后可以发送图请求,
GraphRequest request = GraphRequest.newMeRequest(
AccessToken.getCurrentAccessToken(),new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object,GraphResponse response) {
try {
String email=object.getString("email");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
request.executeAsync();
但是为了获得 B'day,您必须提交应用以供审核,请阅读此处 description