Android - 发布权限已被拒绝

时间:2016-02-18 12:03:01

标签: android facebook

经过长期努力授予发布权限(publish_actions)后,他们拒绝了我的请求

enter image description here

您的应用使用社交插件或分享对话框将内容分享到Facebook。这些不需要写入权限,也不需要提交审核。我们的共享文档包含更多信息,您可以在此处找到最新的插件版本。

这是我用于发布的代码,我使用的是shareDialog,但我不知道如何分享它,任何人都可以帮助我

mShareDialog = new ShareDialog(this);

public void publishStory(String Scontent) {
        AccessToken token = AccessToken.getCurrentAccessToken();
        if (token == null) {
            LoginWithPublishPermission();
            return;
        }
        Set<String> permissions = AccessToken.getCurrentAccessToken().getPermissions();
        if (!isSubsetOf(PUBLISH_PERMISSIONS, permissions)) {
            Log.d("FB TAG", "facebook publish permission login");
            pendingPublishReauthorization = true;
            LoginWithPublishPermission();
            return;
        }


        if (mShareDialog.canShow(ShareLinkContent.class)) {
            ShareLinkContent content = new ShareLinkContent.Builder()
                    .setContentUrl(Uri.parse(AppURL))
                    .setContentTitle(getString(R.string.share_from_leaynik))
                    .setContentDescription(Scontent)
                    .build();

            mShareDialog.show(content);
        } else {
            try {
                String sharerUrl = "http://www.facebook.com/sharer/sharer.php?u=" + AppURL;
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(sharerUrl));
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);

            } catch (ActivityNotFoundException e) {
                e.printStackTrace();
            }
        }


    }

    private void LoginWithPublishPermission() {
        LoginManager.getInstance().logInWithPublishPermissions(Disease_Details.this, PUBLISH_PERMISSIONS);
    }

1 个答案:

答案 0 :(得分:1)

我的解释是,Facebook要求您使用正常的共享机制,而不是通过publish_actions发布Facebook帖子的方向Facebook是非常严格的,可以自动发布到它没有用户自动发布人工干预。

所以我的建议是从你要求的facebook权限中删除publish_actions。请使用如下的普通共享功能: -

    Intent share = new Intent(Intent.ACTION_SEND);
    share.putExtra(Intent.EXTRA_SUBJECT, "YOUR MESSAGE TITLE");
    share.setType("text/plain");
    share.putExtra(Intent.EXTRA_TEXT, "YOUR MESSAGE");
    startActivity(Intent.createChooser(share, "Sharing the App"));

希望这有帮助