5

アプリ内で Facebook の printScreen イメージを共有するために、Facebook の ShareDialog を使用しています。

Facebook アプリをインストールすると、問題なく動作します。

Facebookアプリインストールされていないと動作しません。「読み込み中」画面が表示された後、画面が消えて何も起こりません。共有ダイアログ オブジェクトは、FacebookException で onError コールバックに到達します。

{FacebookGraphResponseException: (#200) Requires extended permission: publish_actions httpResponseCode: 403, facebookErrorCode: 200, facebookErrorType: OAuthException, message: (#200) Requires extended permission: publish_actions}

Facebookアプリではなく、Facebook Webに対してのみ「publish_actions」権限が本当に必要ですか?変..

Facebook writes:

https://developers.facebook.com/docs/sharing/android

"If the Facebook app is not installed it will automatically fallback to the web-based dialog"

"Now the SDK automatically checks for the native Facebook app. If it isn't installed, the SDK switches people to their default browser and opens the Feed Dialog."

私のコード:

mShareDialog = new ShareDialog(mActivity);

    mShareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
        @Override
        public void onSuccess(Sharer.Result result) {}

        @Override
        public void onCancel() {}

        @Override
        public void onError(FacebookException error) {
            if (error != null) {
                showDialog("facebook app isn't installed");
            }
        }
    });

    if (ShareDialog.canShow(ShareLinkContent.class)) {

        // get a screenshot
        Bitmap image = getScreenshot();

        SharePhoto photo = new SharePhoto.Builder()
                .setBitmap(image)
                .setCaption(getResources().getString(R.string.shareBodyText))
                .build();

        SharePhotoContent content = new SharePhotoContent.Builder()
                .addPhoto(photo)
                .build();

        mShareDialog.show(content);
    }

では、「publish_actions」なしで Facebook アプリがインストールされている場合に機能し、Facebook アプリがインストールされていない場合に機能しないのはなぜですか?

4

1 に答える 1

1

これは SharePhotoContent の要件です。写真を共有するには、ネイティブの Facebook アプリをインストールしておく必要があります。

Facebook ドキュメントから

写真

ユーザーは、共有ダイアログまたはカスタム インターフェイスを使用して、アプリから Facebook に写真を共有できます。

  • 写真のサイズは 12 MB 未満である必要があります
  • Android アプリ用のネイティブ Facebook がインストールされている必要があります (バージョン 7.0 以降)。
于 2017-06-04T22:23:09.280 に答える