编辑 - 言归正传。需要为我的回调网址设置端口号。
问题在于端口是动态的并且在不断变化。有没有人遇到过这个?
使用rhomobile。需要一些帮助才能更好地理解facebook oauth2的工作原理。
当用户第一次启动应用时,想用facebook连接获取用户信息,并在用户评论时发布到墙上。
假设我可以执行以下操作:
在我的控制器中有一个调用Action的按钮。 - > Action将WebView启动到FB mobile进行身份验证 - >用户在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中吗?
答案 0 :(得分:0)
是的,Rhodes动态配置端口,因为指定显式端口可能会与另一个Rhodes应用程序或设备上的任何其他设备在设备上使用的另一个端口冲突。
您可以使用以下属性强制在RhoConfig.txt中运行应用程序的端口:
local_server_port = 8080
但是,最好的解决方案是通过以下方式获取动态服务器端口:
System.get_property('rhodes_port')