17

私は Facebook アプリのタブに取り組んでおり、ここに記載されている署名付きリクエスト バンドルを使用したいと考えています: http://developers.facebook.com/blog/post/462/

サンプルコードを使用して、タブに渡されると思われる署名付きリクエストをアンパッケージしようとしていますが、 $_POST$_GET、および$_REQUESTは常にすべて空です。

正確なコードはキャンバス ページで機能し、署名されたリクエストを解析できます。

最近の発表で私が見逃しているものはありますか?

ちなみに、アプリはマーケットプレイスに公開されておらず、私のタブがインストールされているファンページは非公開です。それは違いを生むでしょうか?

-セス

4

5 に答える 5

40

わかりました!アプリを構成するときに、「タブ URL」を「tab/」と入力しました。これにより、タブ ページへの完全な URL「http://www.example.com/myfacebookapp/tab/」が作成されました。 .

どうやら、Facebookはこれを好まないようです。「タブ URL」を「tab/index.php」に変更した後、署名されたリクエストがアプリ タブに表示されるようになりました。

于 2011-03-10T19:32:21.433 に答える
8

基本的に、問題は、Web サーバーがリクエストを受信したときにリダイレクトを実行していることです。あなたの場合、 http://www.example.com/myfacebookapp/tab/ から http://www.example.com/myfacebookapp/tab/index.php にリダイレクトしてます。私の場合、http://www.example.com/myfacebookapp/tab から http://www.example.com/myfacebookapp/tab/ にリダイレクトしていました(アプリは .Net MVC で構築されているため、ファイル名はありません。しかし、明らかにその末尾のスラッシュが必要です)。

したがって、標準的な解決策は、[Tab URL] フィールドのパスが実際のURL であり、Web サーバーがリダイレクトする URL ではないことを確認することです。Web サーバーがリダイレクトを行う必要がある場合、実際のページは (POST ではなく) GET によってフェッチされ、ポストsigned_requestデータはスクリプトに提供されません。

非常にイライラします。テスト アプリが機能し、本番アプリが機能しなかった理由をデバッグするのに 1 時間半を費やしただけです。さらに悪いことに、私はこの答えを知っていましたが、これが問題であるとは認識していませんでした。非常に刺激的です!

于 2011-09-02T10:58:48.193 に答える
4

解決策を見つけました。タブの URL の末尾に「/」を付けるだけです。のように: 「http://domain.us/facebook/tab/」

それは私にとってはうまくいきました。あなたにもうまくいくかどうか教えてください!

于 2011-03-31T13:04:41.973 に答える
4

ありがとうセス私は同じ問題を抱えていました。アプリのキャンバス ページでは署名付きのリクエストを取得できましたが、ページ タブでは取得できませんでした。明確にするために

  1. www.facebook.com/developers/にアクセスしてください
  2. アプリの編集設定をクリックします
  3. Facebook 統合タブをクリックします。
  4. [タブ URL] フィールドの [ページ タブ] セクションの下部に、Facebook ランディング ページの index.php ページへのパスを入力します。

元。あなたのページが www.foobar.com/facebook/tab/index.php にある場合、「tab/」ではなく「tab/index.php」(引用符なし) を入力する必要があります。

何日もこれを理解しようとしてきました!

于 2011-03-14T01:55:32.593 に答える
0

アプリケーションで認証すると、signed_request データが取得され、以下の URL のように認証されます

于 2012-02-18T04:53:20.040 に答える