Google App Engine 频道令牌无效
Posted
技术标签:
【中文标题】Google App Engine 频道令牌无效【英文标题】:Google App Engine channel token is invalid 【发布时间】:2013-08-09 11:35:28 【问题描述】:我正在尝试通过将令牌复制并粘贴到输入框中来打开频道,但是控制台返回,
无效+令牌。
这里是 localhost:8080/的代码
<html>
<head>
<script type="text/javascript" src="https://talkgadget.google.com/talkgadget/channel.js"></script>
<script>
function OpenChannel()
channel = new goog.appengine.Channel(document.getElementById('Token').value);
socket = channel.open();
socket.onmessage = function(message)
console.log(message);
socket.onopen = function()
connected = true;
console.log('opened');
socket.onerror = function(err)
console.log(err.description);
socket.onclose = function()
console.log('closed');
</script>
</head>
<body>
Token: <input id="Token"></input><br/>
<button onclick="OpenChannel()">Open Channel</button>
</body>
</html>
我通过打开“localhost:8080/token?name=...”来创建令牌,它将频道令牌写入页面。这是该页面的 python 类:
class TokenPage(webapp2.RequestHandler):
def get(self):
token = channel.create_channel(self.request.get('name'))
self.response.write(token)
我几乎逐行复制了文档行,所以我不知道出了什么问题。
解决方案:
替换
<script type="text/javascript" src="https://talkgadget.google.com/talkgadget/channel.js"></script>
与
<script type="text/javascript" src="/_ah/channel/jsapi"></script>
.
【问题讨论】:
如果您不想或不能使用脚本标签,您可以将其导入:github.com/Fantasim/app-engine-channel-js-api 【参考方案1】:你试过了吗:
channel = new goog.appengine.Channel(document.getElementById('Token').value);
【讨论】:
我仍然遇到同样的错误,但看到 .innerHTML 返回 "" 我可能应该编辑我的问题。 您可能想通过您的 javascript 进行调试并验证您是否确实提交了正确的令牌。 我解决了,我将解决方案放在问题的末尾。以上是关于Google App Engine 频道令牌无效的主要内容,如果未能解决你的问题,请参考以下文章
使用 OAuth 2.0 Google App Engine 刷新访问令牌
在 Google App Engine 上,我可以关联使用 Android 的 AccountManager 获得的 Google OAuth 2 令牌和 SACSID 令牌吗?
使用 Google App Engine 时 SSL 证书无效和/或丢失
Google App Engine Python django TemplateSyntaxError:无效的块标签:'endif'