2011-11-10 13 views
2

私はこれをモバイルアプリで使用しています。ユーザーが同じウィンドウ内でアプリから離れてリダイレクトされた場合、バック。FB.login、新しいウィンドウの起動を妨げ、現在のウィンドウ内をナビゲートする

ログインページのリダイレクト機能が働いていますが、ログインをクリックしたときに新しいウィンドウを開くのを防ぐ最もよい方法は何ですか?

これはおいしいのCoffeeScriptの投稿LIBによって提供される方法である -

FF.login = (a, b) -> 
    if FB._oauth 
    throw new Error("OAuth2 specification states that 'perms' " + "should now be called 'scope'. Please update.") if b and b.perms 
    FB.ui FB.copy(
     method: "permissions.oauth" 
     display: "popup" 
    , b or {}), a 
    else 
    FB.ui FB.copy(
     method: "permissions.request" 
     display: "popup" 
    , b or {}), a 

は、ウィンドウ内のナビゲーションをトリガーするdisplay: "popup"に代わるものはありますか?

または私たちが渡すことができるparam?

EDIT:

私はFB.ui方法でこれを見つけた:

"display" must be one of "popup", '+'"dialog", "iframe", "touch", "async", "hidden", or "none"'

は、私が直接ログイン方法を編集する必要はありますか私はのparamsとしてこれらの表示オプションを渡すことができます?

EDIT2:私はこれを行うことができますか?

window.location='https://www.facebook.com/login.php?api_key=YOUR_API_KEY&cancel_url=YOUR_ESCAPED_CANCEL_URL&fbconnect=1&next=THE_ESCAPED_URL_TO_RETURN_TO_AFTER_LOGIN&return_session=1&session_version=3&v=1.0&req_perms=ESCAPED_LIST_OF_REQUIRED_PERMISSIONS' 

既存のFB.loginメソッドを使用してこの方法を改善する方法はありますか?

ありがとうございます!

+0

私がログインをクリックすると、ページの表示がなくなり、fadeinやfadeoutのようなjqueryのものを使って同じページにログインコンポーネントが表示されると思います。 :-) – Unknown

+0

クール、あなたはこのテクニックを詳しく説明できますか?私たちが探しているもののような音。 – fancy

+0

私は実際にwondow.locationスイッチで、クライアント側のJS SDKのfacebookで動作しています。 – fancy

答えて

2

OAuth2.0に移行しながら、Facebookは「適用範囲」にキーワード「パーマ」を更新しました、「適用範囲」

*古いコードをキーワード「パーマ」を変更してください://}、{パーマ ' read_stream、publish_stream、offline_access '});

新しいコード:}、{スコープ: 'read_stream、publish_stream、offline_access'}); *

ただ、コメントやスコープに古いパーマを削除します。

関連する問題