【问题标题】:Google App Engine channel token is invalidGoogle App Engine 频道令牌无效
【发布时间】: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)

我几乎逐行复制了文档行,所以我不知道出了什么问题。

解决方案:

替换

&lt;script type="text/javascript" src="https://talkgadget.google.com/talkgadget/channel.js"&gt;&lt;/script&gt;

<script type="text/javascript" src="/_ah/channel/jsapi"></script> .

【问题讨论】:

标签: javascript google-app-engine channel


【解决方案1】:

你试过了吗:

channel = new goog.appengine.Channel(document.getElementById('Token').value);

【讨论】:

  • 我仍然遇到同样的错误,但看到 .innerHTML 返回 "" 我可能应该编辑我的问题。
  • 您可能想通过您的 javascript 进行调试并验证您是否确实提交了正确的令牌。
  • 我解决了,我将解决方案放在问题的末尾。
猜你喜欢
  • 2012-01-06
  • 2014-08-23
  • 2012-06-08
  • 2017-05-17
  • 2012-06-28
  • 1970-01-01
  • 2015-01-18
  • 1970-01-01
  • 2012-05-26
相关资源
最近更新 更多