长话短说,我无法从Gettting Started示例应用程序(https://developers.facebook.com/docs/samples/canvas/)获取Runwithfriends示例应用程序。
在我成功通过Google App Engine获得hello世界后,我按照Facebook示例中的所有说明进行操作。但是,当转到localhost端口8080(入门,第8步)时,我会收到恼人的“请更新您的安全画布URL”错误;按“继续”不会做任何事情,只是再次提示我更新我的网址。
我读到dev_appserver.py没有SSL支持,所以我猜这就是为什么当我在我的Secure Canvas URL中放入带有SSL的localhost端口8080时,我收到ssl_error_rx_record_too_long错误。所以这是一个死胡同。
现在,我读到可能我作为应用程序管理员的个人安全设置搞砸了。所以,我尝试了一个测试用户;使用带有SSL的localhost作为安全画布URL会弹出与之前相同的错误,但将其保留为空白会让我与朋友主页一起运行;就在我要赢得胜利之前,我注意到刷新图标变得疯狂,所以通过打开萤火虫,我看到该网站正在疯狂地获取GET请求;我打开了查询的标题并得到了这个:
Reload the page to get source for: https://apps.facebook.com/facebook-skuiz/
与其他GET请求一样长,其他GET请求......嗯,你得到了钻孔。
也许这是我的错误,我在使用conf.py或app.yaml做错了。他们在这里:
####conf.py
# Facebook Application ID and Secret.
FACEBOOK_APP_ID = 'XXX'
FACEBOOK_APP_SECRET = 'XXX'
# Canvas Page name.
FACEBOOK_CANVAS_NAME = 'facebook-skuiz'
# A random token for use with the Real-time API.
FACEBOOK_REALTIME_VERIFY_TOKEN = 'RANDOM TOKEN'
# The external URL this application is available at where the Real-time API will
# send it's pings.
EXTERNAL_HREF = 'http://facebook-skuiz.appspot.com/'
# Facebook User IDs of admins. The poor mans admin system.
ADMIN_USER_IDS = ['100002926752876']
####app.yaml
application: runwithfriends
version: 1
runtime: python
api_version: 1
handlers:
- url: /(.*\.(html|css|js|gif|jpg|png|ico))
static_files: static/\1
upload: static/.*
expiration: "1d"
secure: always
- url: .*
script: main.py
secure: always
- url: /task/.*
script: main.py
login: admin
secure: always
(我还删除了安全:选项,没有用)
现在,也许它真的很蠢,比如文件夹结构或应用名称。我希望是这样,我做错了,因为我无法相信入门教程不起作用。
更新:似乎Firefox犯了“继续”错误。试过Chrome,到目前为止一切都那么好。我会不断更新,看看情况如何。
答案 0 :(得分:2)
Facebook根据用户帐户中“安全浏览”设置的配置方式,确定是否使用您应用的普通或安全网址。听起来您已经为您的帐户启用了安全浏览,因此Facebook正在创建一个想要导航到应用安全网址的应用iframe。在您的用户帐户/隐私设置中禁用安全浏览,您应该能够连接到在localhost上运行的appengine开发服务器。