我正在测试 Heroku 使用 Python 编写 Facebook 应用程序的能力。我在运行基本教程时遇到问题。这个问题似乎值得在 StackOverflow 上提问,以防有答案可以帮助遇到完全相同问题的其他人。
我按照 heroku 的 facebook 开发页面 (http://devcenter.heroku.com/articles/facebook) 上的说明进行操作。部署到 Heroku 运行良好。
但是,在本地运行应用程序不会。当我按照说明调出时
http://localhost:5000
我进入了 Facebook 登录屏幕。但是当我在该屏幕上单击“登录”时,我得到:
SSL connection error Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have. Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.
控制台输出是
09:55:07 web.1 | https://localhost:5000/ 09:55:07 web.1 |
https://www.facebook.com/dialog/oauth?client_id=179852202088814&redirect_uri=https://localhost:5000/&scope=user_likes,user_photos,user_photo_video_tags
09:55:07 web.1 | 127.0.0.1 - - [24/Sep/2011 09:55:07] "GET / HTTP/1.1"
302 - 09:59:02 web.1 | 127.0.0.1 - - [24/Sep/2011 09:59:02] code 400,
message Bad request syntax
('\x16\x03\x00\x00U\x01\x00\x00Q\x03\x00N}\xe2&\xf9\xf7"\x15\xd5\xb6\xf6\xa6\x0f\xb01\x97N\xcc\xb3l\xed\x97\xd1!-\x91c?\x1f\xac\xa2h\x00\x00*\x00\xff\x00\x88\x00\x87\x009\x008\x00\x84\x005\x00E\x00D\x00f\x003\x002\x00\x96\x00A\x00\x04\x00\x05\x00/\x00\x16\x00\x13\xfe\xff\x00')
09:59:02 web.1 | 127.0.0.1 - - [24/Sep/2011 09:59:02]
"UQN}?&??"ն??1?N̳l??!-?c???h*???98?5EDf32?A/??" 400 -
当我在 Safari 中尝试时,地址栏显示以下很长的 URL:
https://localhost:5000/?code=AQBPWpkbRdL2bt7KER0fcUS9ZnheXiGApkaF5MXbNgyIJqzw46SGve1iVyLIx1sDltNh0PkXPDdxhjAxoa1YED1cpcaflCXCkqzO27A-rhgjBpXwWUClpGRpRmDD2eIXcOyIczo_qGf45tbpvDZO5hFa0gmUeSHri4vY3bqw-5jBjZRoZfEB7pI8cLPOIsnNICI#_=_
Safari 提示它无法建立安全连接。
这是在 OS X 10.6.8 上运行。
最佳答案
这是因为 https 没有在您的机器上本地启用,您可以启用它,或者您也可以在本地主机上没有 SSL 的情况下运行。为此,您需要将函数编辑为如下所示:
def get_home():
return 'http://' + request.host + '/'
关于python - 使用 Python 运行 Heroku 的 Facebook 应用程序教程时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541469/