私はFacebookのIframeアプリケーションを構築するためにRoR 3.1とKoalaを使用しています。新しいユーザーが自分のアプリにアクセスすると、Facebookのロゴと「Facebookに行く」というリンクがiframeに表示されます。ロゴをクリックすると、権限のポップアップが表示されます。許可の作品をクリックする - 私のアプリの機能はそれ以降はうまく機能します。私はこのトピックに関する他の記事を見ましたが、私には解決策がありませんでした。iframeアプリケーションの最初の認証時に、認証用ポップアップではなくFacebookロゴを取得しています
これは、この質問に文書と同じ問題であるように見えますが、答えは私のために動作しませんでした:Facebook OAuth login for iframe canvas apps displays a logo image and a Go to Facebook.com caption instead of logging in
私は私のindex.html.erbファイルの先頭にtop.location.hrefを含めてみましたハードコードされたURL:top.location.href = "https://www.facebook.com/dialog/permissions.request?appid=xxx、no nouck。
私はFacebookのロゴのリンクをつかんで試しました参考までに、リンクは次のようになります:https://www.facebook.com/dialog/permissions.request?app_id=XXX&display=page&next=http%3A%2F%2Feowyn.simularity.com%3A3000%2Fgifty%2Fcallback&response_type=code&fbconnect=1&perms=user_likes%2Cuser_groups%2Cfriends_likes#
私はFaに掲載されたバグを読んでいますそれについてのcebook、それは "設計通りに"閉じられた。 http://bugs.developers.facebook.net/show_bug.cgi?id=11326
これはひどいユーザーエクスペリエンスであり、これが意図されたものだとは想像できません。私が使っている他のアプリのどれもこの問題を抱えていません。あなたは、アプリケーションに行くためのリンクをクリックすると、アクセス許可のダイアログボックスが表示されます。
ことができます場合には、私のコントローラのコードを追加:任意の助け
SITE_URL="http://mysubdomain.example.com:3000/"
def index
@oauth = Koala::Facebook::OAuth.new(APP_ID, APP_SECRET, SITE_URL + 'myapp/callback')
session[:oauth] = @oauth
redirect_to @oauth.url_for_oauth_code(:permissions => "user_likes,user_groups,friends_likes")
end
#method to handle the redirect from facebook back to you
def callback
#get the access token from facebook with your code
session[:access_token] = session[:oauth].get_access_token(params[:code])
redirect_to '/myapp/menu'
end
def menu
@api = Koala::Facebook::API.new(session[:access_token])
< app code here >
感謝を! Liz
あなたのリンクに 'target =" _ top "'を追加しようとしましたか?これは、トップ文書のリンクを開きます。しかし、再度リダイレクトuri(次)はあなたのキャンバスURLでなければなりません: 'https:// apps.facebook.com/appnamespace' – ifaour
@ifaour - どのリンクがtarget =" _ top " apps.facebook.com/appnamespaceに?上記のコードを追加して、自分が何をしているかを見ることができます。ご協力いただきありがとうございます! –