【发布时间】:2011-06-21 16:46:40
【问题描述】:
编辑 - 更近了。我的回调 url 需要一个端口号。
问题是端口是动态的并且不断变化。有没有人遇到过这种情况?
使用 rhomobile。需要一些帮助来更好地理解 facebook oauth2 的工作原理。
当用户第一次启动应用程序时想要做 facebook 连接以获取用户信息并在用户 cmets 时发布到墙上。
假设我可以做到以下几点:
在我的控制器中有一个调用 Action 的按钮。 -> 操作将 WebView 启动到 FB 移动设备以进行身份验证 -> 用户在 FB 上输入凭据 -> 在 redirect_uri_controller 上获取 auth_code,然后我使用另一个 redirect_url 执行 AsyncHttp.get 请求令牌 -> 存储了 redirect_url 和 auth_token。
现在,有一个按钮可以调用下面的控制器
def fb_initiate_connect
call_back_url = url_for(:controller => "Settings", :action => :fb_initiate_connect_callback)
url = "http://www.facebook.com/dialog/oauth?client_id=#{fb_app_id}&redirect_uri=#{call_back_url}&scope=email,read_stream,publish_stream&display=touch"
WebView.navigate(url)
end
这会在我的应用中启动 UIWebview,转到 FB 移动网站,但收到“APP_NAME 发生错误。请稍后再试。”
认为是因为没有设置/找到 cookie?这里的一切都是手动的,所以必须做类似WebView.execute_js("document.cookie=WHAT?;") 的事情但是我把它放在我的call_back_url 或fb_initiate_connect 中吗?
【问题讨论】:
-
您使用哪些平台进行测试?使用 Android,在模拟器中加载应用程序后,您可以将其转发到本地计算机,以便检查您要发送到的 URL,它还将帮助您更好地调试 javascript 和 css 问题。命令是:adb forward tcp:8080 tcp:8080
-
另外,请参阅此线程以获得类似的功能:link
-
试过了,但没有用。猜猜第一个问题应该是我什至可以在不使用 cookie 的情况下对 facebook 进行 oauth 对话调用吗?
-
你为什么不使用cookies?它们是否在设备上被禁用?
-
似乎如此。是否编辑问题。问题源于回调 url 所需的端口号。
标签: ruby-on-rails-3 facebook rhomobile