Facebook 使用 FirebaseUI 登录 Android - 如何获得 publish_actions 权限?

Facebook login with FirebaseUI for Android - how to get publish_actions permission?

我想做一个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。它说 "Cannot pass a publish or manage permission (publish_actions) to a request for read authorization".

所以我了解到 .setPermission 仅适用于读取权限。如何使用 FirebaseUI 为我的 Android 应用程序获取 publish_actions 权限?

谢谢,

亚历克斯

有一些坏消息要告诉你:(

FirebaseUI 团队已将此确定为 Graph API 阻止实施的缺失功能。

理由: Facebook 故意让同时请求读取和发布权限变得困难,因此它不适合 FirebaseUI 的流程。最好的办法是仅向 FirebaseUI 提供您的读取权限,然后在用户登录后再次询问发布权限(这是 Facebook 指南的建议)

查看 Github 问题了解更多信息; https://github.com/firebase/FirebaseUI-Android/issues/535