3

アプリにFacebookのログインボタンを配置せずに、AndroidSDKを使用してFacebookに写真を共有するにはどうすればよいですか。(最初にログインしてから2つのステップで共有をクリックするのではなく、Facebookアプリにアクセスして承認し、共有ボタンをクリックしたときに戻ってほしい)。具体的には、Facebookのオープングラフ投稿を/ me / photosに実行して、デフォルトのアプリアルバムにアップロードします。ただし、ユーザーがFacebook認証プロンプトをクリックしても、セッションエラーがログインしません。

final Session session = Session.getActiveSession();


Session.openActiveSession(this, true, new Session.StatusCallback() {

    @Override
    public void call(final Session session, final SessionState state,
            final Exception exception) {
        Request request = Request.newUploadPhotoRequest(session, image, new Request.Callback() {
            @Override
            public void onCompleted(Response response) {
                  Toast.makeText(getApplicationContext(), "Fact shared", Toast.LENGTH_SHORT).show();
              }
        });
        request.executeAsync();
    }
});
4

1 に答える 1

0

コードにはいくつかの問題があります。

  1. 写真を公開するには、公開権限が必要です。これには、requestNewPublishPermissions最初にセッションを開いた後に別の呼び出しが必要です。

  2. call()かどうかを確認せずに、メソッドですぐにリクエストを行っていますsession.isOpened()。これには問題があります。理由は次のとおりです。

    a。セッションは多くの状態(OPENING、OPENEDなどを含む)を経て、すべてcall()が呼び出され、OPENEDまたはOPENED_TOKEN_UPDATED状態の場合にのみ要求を行うことができます。

    b。セッションの開始中に例外が発生する可能性があり(ユーザーがキャンセルした場合など)、セッションが閉じられる可能性があります。session.isOpened()あなたはチェックであなたの要求を守る必要があります 。

于 2013-02-22T18:03:22.593 に答える