1

Facebook SDK を Android に統合するときに問題が発生しました。基本的に、私は自分の電話にうまく統合しました。チュートリアルに従って、長さ 30 の文字列のハッシュ キーを追加しました。次に、デバイスでテストすると正常に動作します。

しかし、友人に私のアプリを試すように頼んだとき、彼は Facebook のものを共有することで何もできないと報告しました。共有を行うためのコードのチャンクは次のとおりです。

/**
 * Publish Feed Dialog
 * @param current
 * @param title
 * @param caption
 * @param description
 * @param link
 * @param pictureUrl
 */
public static void publishFeedDialog(final Activity current, final String title, final String caption, final String description, final String link, final String pictureUrl) {
    // start Facebook Login
    Session.openActiveSession(current, true, new Session.StatusCallback() {

        // callback when session changes state
        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if (session.isOpened()) {
                Bundle params = new Bundle();
                params.putString("name", title);
                params.putString("caption", caption);
                params.putString("description", description);

                if (link != null) params.putString("link", link);
                if (pictureUrl != null) params.putString("picture", pictureUrl);

                WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(current, Session.getActiveSession(), params))
                        .setOnCompleteListener(new OnCompleteListener() {

                            @Override
                            public void onComplete(Bundle values, FacebookException error) {
                                if (error == null) {
                                    // When the story is posted, echo the
                                    // success
                                    // and the post Id.
                                    final String postId = values.getString("post_id");
                                    if (postId != null) {
                                        Toast.makeText(current, "Posted", 2000).show();
                                    } else {
                                        // User clicked the Cancel button
                                        Toast.makeText(current, "Publish cancelled", 2000).show();
                                    }
                                } else if (error instanceof FacebookOperationCanceledException) {
                                    // User clicked the "x" button
                                  Toast.makeText(current, "Publish cancelled", 2000).show();
                                } else {
                                    // Generic, ex: network error
                                  Toast.makeText(current, "Error posting story", 2000).show();
                                }
                            }

                        }).build();
                feedDialog.show();
            }
        }
    });
}

このコードのチャンクのみを使用して、フィード ダイアログを公開します。Facebook アプリの設定の場合:

  1. パッケージ名 -> com.ImranQureshi.HadithPro
  2. クラス名 -> com.imran.hadith.MainActivity
  3. キー ハッシュ -> t8tk8tRXcAXxnn4U0mRcCBSqHf
  4. Facebook ログイン -> 有効
  5. ディープリンク -> 無効

キー ハッシュを使用しないと、そこで例外が発生します。com.facebook.http.protocol.ApiException: キー ハッシュ t8tk8tRXcAXxnn4U0mRcCBSqHf は、保存されているキー ハッシュと一致しません

ハッシュが存在しないため、これは理にかなっています。そのハッシュキーを入れると、実際のデバイスでは機能しますが、友人のデバイスでは機能しません。何が悪いのかアドバイスいただけますか?

4

0 に答える 0