FBユーザー情報を必要とするいくつかのFBページタブアプリを設計しています。ユーザーがページにインストールされているアプリケーションのタブを押したらすぐにユーザーの許可を求めたい。次に、ユーザーとページの情報を取得すると、アプリで続行できます。
問題は、ボタンをクリックするのではなく、タブを押すとすぐにユーザーがoauthダイアログボックスに移動するようにしたいということです。そのため、ユーザーの許可を得るためにポップアップスキームを使用していません。クリックなしのポップアップは、ほとんどのブラウザでは許可されません。これまでに行ったことは、「LOGINwithCANVASAPPS」の指示を使用しています
https://developers.facebook.com/docs/howtos/login/login-for-canvas/
これにより、ユーザーがタブを押すとすぐにoauthダイアログに誘導できます。また、ユーザーのアクセス許可を取得してアプリをCanvasアプリとして実行するコールバックがありますが、これは本当に必要ありません。これに伴う問題は、ユーザーがタブを押したときにページIDを取得しますが、ユーザーがコールバックURLに戻ったときに、リクエストオブジェクトにはページIDではなくユーザー情報が含まれていることです。セッションにページIDを保存しようとしましたが、アプリがコールバックURLに戻ると、どういうわけかページIDが破棄されます。DBに保存して再度アクセスすることもありますが、そうすべきかどうかはわかりません。
私は調査しましたが、1つの方法は、ページのリンクとIDを保存し、リンクを再生成してそれをコールバックとして使用することで、ユーザーをページタブアプリにコールバックすることでした。それにもあまり熱心ではありません。iframeでoauthダイアログを実行できないため、このすべての問題が発生します。
私はこれにRailsとそのomniauth-facebookgemを使用しています。
ここに、いくらか同じ問題が議論され、いくつかの提案がなされたいくつかのリンクがあります。
ログインしていないユーザーのFacebookページタブアプリでFB.loginを自動的に呼び出す
上記のスレッドはかなり古いので、私はこの新しいスレッドを開始しました。私のジレンマは些細なことかもしれないし、いくつかの小さな点を見逃しているかもしれないことを私は知っています。しかし、どんな助けでも本当にありがたいです。
私の質問をより明確にするために必要なコードがあるかどうか教えてください。