我想制作一个Facebook排行榜,所以我需要使用图形API来得分。我没有问题阅读球员的分数。当玩家的分数发生变化时,更新玩家分数的最佳方法是什么?目前,每次分数变化时,我: - 使用图形 API 读取当前分数 - 增加分数(例如,如果玩家获胜,则+1分) - 使用图形 API 更新分数
我的问题是我不知道如何在用户登录时获得publish_actions权限。我需要它来使用Facebook图形API更新分数。
这是我的代码:
AuthUI.IdpConfig facebookIdp = new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER)
.setPermissions(Arrays.asList("user_friends", "publish_actions"))
.build();
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(false)
.setProviders(Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
facebookIdp))
.setTheme(R.style.loginTheme)
.build(),
RC_SIGN_IN);
问题是.setPermissions(Arrays.asList("user_friends","publish_actions"))没有给我publish_permission。它说"无法将发布或管理权限 (publish_actions) 传递给读取授权请求"。
所以我明白.setPermission仅适用于读取权限。如何使用 FirebaseUI 获取我的 Android 应用的publish_actions权限?
谢谢
亚历克斯
有一些坏消息要告诉你:(
FirebaseUI 团队已将此确定为缺少的功能,该功能被 Graph API 阻止实施。
理由: Facebook故意很难同时请求读取和发布权限,因此它不适合FirebaseUI的流程。最好的办法是只提供您对FirebaseUI的读取权限,然后在用户登录后再次请求发布权限(这是Facebook指南建议的)。
有关更多信息,请参阅 Github 问题;https://github.com/firebase/FirebaseUI-Android/issues/535