- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 facebook 集成到我的 android 应用程序中,当用户首次登录时,我正在使用我的 requestFacebookPermissions(session) 方法请求 publish_actions 权限。但每当我调用此方法时,它都会给我以下异常...
java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request.
我没有任何其他待处理的请求,可能是其他一些内部请求,但我如何在不收到此异常的情况下请求权限?如果我必须等到其他请求完成就可以了,但是我不知道如何获得挂起的请求是否完成。
private void requestFacebookPermissions(Session session) {
if (session != null && session.getState().isOpened()) {
List<String> permissions = session.getPermissions();
Log.i("Facebook", "Permissions Count: " + permissions.size());
for (String string : permissions) {
Log.i("FacebookPermissions", string);
}
if (!permissions.containsAll(PERMISSIONS)) {
try {
session.requestNewPublishPermissions(new Session.NewPermissionsRequest(FacebookActivity.this, PERMISSIONS));
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
return;
}
}
最佳答案
登录后请求发布权限
这是我的代码
public class FacebookAccount extends FragmentActivity {
private UserSettingsFragment userSettingsFragment;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.facebook_login);
FragmentManager fragmentManager = getSupportFragmentManager();
userSettingsFragment = (UserSettingsFragment) fragmentManager
.findFragmentById(R.id.login_fragment);
userSettingsFragment.setReadPermissions(Utility.READ_PERMISSIONS);
userSettingsFragment
.setSessionStatusCallback(new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (state == SessionState.OPENED
&& !session.getPermissions().containsAll(
Utility.PUBLISH_PERMISSIONS)) {
session.requestNewPublishPermissions(new Session.NewPermissionsRequest(
FacebookAccount.this,
Utility.PUBLISH_PERMISSIONS));
}
if (session.isOpened()
&& state == SessionState.OPENED_TOKEN_UPDATED) {
....Save session access token
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (userSettingsFragment != null)
userSettingsFragment
.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
}
关于android - Facebook android sdk 的 Session.requestNewPublishPermissions 给出了一个异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055713/
我正在尝试使用 iOS 上的 Facebook SDK 从用户那里获得发帖权限。 我在一个方法中调用下面的代码,如果应用程序没有发布到用户 facebook 墙上所需的发布权限,则会调用该方法。
我关注了 FB tutorial一步一步来,我不明白为什么这不起作用。 我所有的 fragment 都继承自 BaseFragment : public class BaseFragment exte
使用 SDK 3.22.0。 if (FBSession.activeSession.isOpen) { [FBSession.activeSession requestNewPub
我正尝试在我的 Android 应用程序中从我的用户那里获得发布权限,并且我成功了,但是当我获得权限时,我想要一个回调来告诉我这一点。这是我的代码: private void requestPubli
目前我调用requestNewPublishPermissions请求publish_stream权限。 有没有办法让我查看用户是否已经授权该权限,这样我就不需要再次询问了? 我认为 Session.
我正在开发一个与 Facebook 集成的 Android 应用程序。我想: 让用户使用 Facebook 登录 在 Facebook 上获取用户的电子邮件地址(可以是 proxied email a
我正在将 facebook 集成到我的 android 应用程序中,当用户首次登录时,我正在使用我的 requestFacebookPermissions(session) 方法请求 publish_
我在使用 requestNewPublishPermissions 时遇到问题(我使用的是 SDK 3.17 版)。 Facebook 文档说只使用读取权限登录,然后再请求写入权限,这就是我想要做的。
我是一名优秀的程序员,十分优秀!