我收到 FacebookAuthorizationException:用户以不同的 Facebook 用户身份登录,同时尝试更新发布权限,我的代码如下所示
onCreate(...) {
connectFacebookAccount();
}//oncreate
private void connectFacebookAccount() {
settings = getSharedPreferences("PREF_NAME",MODE_PRIVATE);
String FbExperi = settings.getString("FB_AccessExpires, null);
String accesstoken = settings.getString(FB_AccessToken, null);
if (accesstoken != null) {
// open a session from the access token info
// saved in the app's shared preferences
Date date = null;
try {
date = (Date) new SimpleDateFormat("MMMM d, yyyy",
Locale.ENGLISH).parse(FbExperi);
} catch (ParseException e) {
e.printStackTrace();
}
AccessToken accessToken = AccessToken
.createFromExistingAccessToken(accesstoken, date, null,
null, null);
Session.openActiveSessionWithAccessToken(NewTest.this, accessToken,
new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session != null && session.isOpened()) {
Session.setActiveSession(session);
getPublishPremission();
}
}
});
}
}
private void getPublishPremission(){
if (Session.getActiveSession().getPermissions() == null
|| !Session.getActiveSession().getPermissions()
.containsAll(PERMISSIONS)) {
Session.getActiveSession().requestNewPublishPermissions(
new Session.NewPermissionsRequest(
NewTest.this, PERMISSIONS));
}else{
publishFeedDialog()
}
private void publishFeedDialog() {
//open WebDialog to publish feed
}
执行流程围绕 requestNewPublishPermissions 和 StatusCallback 因此未设置权限。我请求您的帮助指出我出错的地方。我在我的 facebook 应用程序中使用不同的 facebook Id 登录。在我的应用程序中我正在尝试登录-使用与保存在应用程序共享首选项中的访问令牌信息不同的 facebook ID。