0

私はソーシャル ギフト プラットフォームを構築しており、数か月前から次のサイトでアプリケーションを実行しています。http://egift.me/promos/venue/facebookconnect

アプリには簡単なユーザー フローがあります。[Login/Connect facebook] ボタンをクリックし、ログインおよび/またはアプリケーションを承認すると、'Thank you/confirmation' スタイルのページにリダイレクトされます。

標準のブラウザでこれを実行しても、問題はありません。モバイルでこれを実行すると、最終的に「要求したページが見つかりませんでした」という素敵なページが表示されます。

モバイル Web URL が構成されていません。Facebook ログインで Web サイトを使用しているだけです。モバイル Web URL を追加しようとしても (これは同じベース URL であり、デスクトップとモバイルに最適化されたビューを提供するために View Switching を使用しています)、同じ問題が発生します。

誰が何が起こっているのか知っていますか?提供できる追加情報はありますか?

[アップデート]

これは機能します(必ずスコープを変更してください):

//instead of onClick could just as easily use something like jQuery event binding
<button onClick="loginUser();">Login</button>
<script type="text/javascript">
function loginUser() {
    FB.login(function (response) { }, { scope: 'YOUR_SCOPE_HERE' });
}

FB.getLoginStatus(function (response) {
    FB.Event.subscribe('auth.authResponseChange', handleResponse);
});
handleResponse = function (response) {
    document.body.className = response.authResponse ? 'connected' : 'not_connected';
    if (response.status === 'connected') {
        // the user is logged in and has authenticated your
        // app, and response.authResponse supplies
        // the user's ID, a valid access token, a signed
        // request, and the time the access token 
        // and signed request each expire
    } else if (response.status === 'not_authorized') {
        // the user is logged in to FB, but has not yet authenticated your app
    } else {
        // the user is not logged in to FB
    }
};
</script>
4

1 に答える 1

1

モバイル Web アプリの場合、ログイン ボタンを使用するのではなく、SDK 自体を介して FB.login を使用することをお勧めします。他に何もないとしても、ユーザー フローとエクスペリエンスをプログラムでより細かく制御できます。

標準的な「これまでで最もシンプルなソーシャル アプリ」のスニペットは次のとおりです。

FB.login(function(response) {
  if (response.authResponse) {
    console.log('Fetching user info');
    FB.api('/me', function(response) {
      console.log('Hello ' + response.name + '!');
     });
  } else {
     console.log('User cancelled login or did not fully authorize');
  }
});

また、とにかくプラグイン用の JS SDK を含めているため、ペイロードのオーバーヘッドはありません。FB.login の詳細はこちら: https://developers.facebook.com/docs/reference/javascript/FB.login/

于 2012-09-25T18:20:09.893 に答える