1

Facebook へのアクセスが必要なページ間でデータを渡す際に問題が発生しています。

簡単な例を次に示します:
ページ 1 - データ ({str:"123"}) があります (ただし、まだ facebook アクセスを取得していません)
次に、facebook_authentication にリダイレクトし、redirect_uri (ページ 2) にリダイレクトします
ページ 2 - する必要がありますページ 1 からデータを取得しますが、Facebook の認証ダイアログによって中断されました (ページ 2 では、str データを送信するために Facebook へのアクセスが必要です)。

ページ 1 から認証ダイアログを介してページ 2 にデータを渡す方法はありますか?
そのようなもの: auth_url..parameters..?str=123 そして、私はそれをページ2で取得します $_GET['str'];

4

2 に答える 2

1

oAuth プロセスの実装中に直面する同じ問題、考えられる 2 つの解決策は次のとおりです。

  1. ページ 1 で Cookie にデータを保存し、ページ 2 で Cookie を読み取ります。
  2. 他の解決策は、データをセッションに入れることです。


ユーザー固有のデータである場合は、1 を使用することをお勧めします。

于 2012-06-26T14:46:28.587 に答える
1

Facebookで一度実行されていたアプリを作成し、これにも対処する必要がありました。私はこのようなものを使用しました

$sAppId = '12345567999455';

$sFBUrl = 'http://www.facebook.com/pages/<name>/<id>?sk=app_<app_id>&app_data=key:val;key:val';

$sDialogUrl = 'https://www.facebook.com/dialog/oauth?client_id=' . $sAppId . '&redirect_uri=' . urlencode($sFBUrl)

echo "<script>top.location.href='" . $sDialogUrl . "'</script>";   

そして、データを解析しました

$aAppData = explode(';', $aSignedRequest['app_data']);

これにより、お客様のケースの解決策が得られます

https://www.facebook.com/dialog/oauth?client_id=app_id&redirect_uri=your_url?str=123

前回のアプリでは、ここで説明したトリックを使用しました: Facebook ログインを使用した SSO ウェブサイト ネットワーク

よろしく

于 2012-06-26T14:49:44.070 に答える