2011-10-25 21 views
6

私のアプリはfacebookキャンバスの外に座っています。 Facebookのリクエストダイアログ2.0は、キャンバスのURL にのみリダイレクトされます。 apps.ibibo.com/YOURAPP。 カスタムURLを開くにはどうすればよいですか? 従来のFBMLフォームでは、fb:request-formと設定してreq-urlとすることができました。Facebookのリクエスト2.0、どのように "Accept"ボタンのURLをFacebookの外にあるURLに変更しますか?

リクエスト2.0は、Facebook内のURLだけに制限されていますか? 私の要求はゲームリクエストを送信することですが、私のゲームはFacebookの外に出ています。 すなわち

"http://apps.facebook.com/mygame" 開くためのURLが

"http://www.mydomain.com/mygame" でなければなりません "ACCEPT" をクリックしていませんの。

enter image description here

これらのメソッドは、私の要件に適合していないように見えます: http://developers.facebook.com/docs/reference/dialogs/requests/(のみキャンバスのURLのリダイレクト)

として私は1つの回避策を考え:ユーザーは「同意する」をクリックしてに来る キャンバスのURLから、私はFacebookの外の私のURLに彼をリダイレクトします。しかし、それがFacebookのポリシーに準拠しているかどうかはわかりません。 (最初の段落のポイント#4でここに記載されています)

+0

を、次の質問http://stackoverflow.com/questions/7914296/how-do-iのための答えのコメントをお読みください。 -send-a-facebook-request-that-external-site-site/7914730 –

+0

@上記の質問の中で、上記の質問には確かな情報源がありますので、確認してください:) –

答えて

2

残念なことに、現在のところ受け入れボタンはあなたが見ているようにアプリケーションページに移動しますが、今は別の場所に移動する方法がありません。キャンバスページからリダイレクトする必要があります。しかし、Facebookのポリシーに反しているとは思われませんが、iframeプラグインを使用してFacebookの外部から本来Facebookの要求が送信される可能性があります。受け入れボタンの外側のURLを入れたい場合は、feature requestをFacebookでログに記録します。

5

Facebookのデフォルト機能を無効にするにはjqueryスクリプトが必要です。しかし、これは「http://apps.facebook.com/mygame」に行き、「appを追加」をクリックしたときにのみ機能します。

簡単にウェルカムページを表示するには、ユーザーが「PLAY」をクリックすると、ページに新しいウィンドウが開きます。

続きを読む:http://developers.facebook.com/blog/post/525/ - 幸運コーディング!

mygameページのどこかに<button id="fb-auth">Login</button>を入れて、このjavascriptのコードを追加します

function updateButton(response) { 
    //Log.info('Updating Button', response); 
    var button = document.getElementById('fb-auth'); 

    if (response.status === 'connected') { 
     //button.innerHTML = 'Logout'; 
     button.onclick = function() { 
     FB.logout(function(response) { 
      //Log.info('FB.logout callback', response); 
     }); 
     }; 
    } else { 
     //button.innerHTML = 'Login'; 
     button.onclick = function() { 
     FB.login(function(response) { 
      //Log.info('FB.login callback', response); 
      if (response.status === 'connected') { 
      //Log.info('User is logged in'); 
      window.open("http://xxxxxxxxxxxxxxxx/some.html"); 
      } else { 
      //Log.info('User is logged out'); 
      } 
     }); 
     }; 
    } 
}; 

// run it once with the current status and also whenever the status changes 
FB.getLoginStatus(updateButton); 
FB.Event.subscribe('auth.statusChange', updateButton); 
関連する問題