- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在过去的几天里,我发现长时间运行的实时应用程序出现了越来越多的问题。我已经完成了以下步骤,底部的代码片段包含来自应用程序的其他调试信息。
当页面首次打开时,它成功请求 OAuth token 并加载实时文档 [A]。 50 分钟后( token 过期前 10 分钟),它成功重新请求新的 OAuth token [B]。在第一个 token 过期后,当前打开的连接会收到 401 未经授权的错误,并需要一个新的 oauth token [C]。这本身似乎是一个问题,因为它应该更新自己以使用来自 [B] 的新有效 token 。
然而,应用程序仍然应该能够应对发生的此类错误 - 因此可以通过关闭并重新打开文档 [D] 并获取另一个新的 OAuth token 来处理它。不幸的是,此时实时 API 处于无限循环中,获取 access_token [E] 错误。
所有 OAuth token 都使用具有相同范围的 gapi.auth.authorize 请求,并且不调用 setToken。我以前尝试过使用 setToken,但它有完全相同的问题。
实际问题
处理刷新实时 API 的 OAuth token 的正确方法是什么?关闭和重新打开文档时,如何防止驱动器 API 内部重复失败?
[A]
_aa: "1"
access_token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz9AYBkyympssqI"
client_id: "XXXXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1373610287"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1373606687"
response_type: "token"
scope: Array[2]
state: ""
token_type: "Bearer"
[B]
_aa: "1"
access_token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXV2kzG4EMUppi"
client_id: "XXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1373613288"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1373609688"
response_type: "token"
scope: Array[2]
state: ""
token_type: "Bearer"
[C]
GET https://drive.google.com/otservice/bind?id=1B-XXXXXXXXXXXXXXXXXXXXX_nRizfqmT…&RID=rpc&SID=XXXXXXXXXXXXXXXXX&CI=0&AID=221&TYPE=xmlhttp&zx=ns6e5dr7rf4&t=1 401 (Unauthorized)
Drive Realtime API Error: token_refresh_required: The OAuth token must be refreshed.
[D]
[Close Realtime Document]
[Open Realtime Document]
_aa: "1"
access_token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMHzJXm2dF-"
client_id: "XXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1373613918"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1373610318"
response_type: "token"
scope: Array[2]
state: ""
token_type: "Bearer"
[E]
[x100] Uncaught TypeError: Cannot read property 'o' of null
最佳答案
我查看了您的问题,我认为您对两个主要问题的看法是正确的。
关于google-api - Google Drive Realtime API OAuth2 刷新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17623682/
我对 Google Drive Realtime API 有点困惑。我正在尝试构建一个类似应用程序的白板,用户可以在其中进行实时协作。我认为谷歌的实时 API 将是完美的。 虽然实时 API 可以完成
我正在寻找一种软件设计模式,它可以解决不同用户同时编辑文档的问题。我想将它用于 Android 应用程序。到目前为止我刚刚找到了Google Realtime API但这似乎不是我正在寻找的,因为它是
我对 Java 实时系统开发非常陌生。我在 OpenSuse 中创建 Java 文件并编译它。我收到错误: The import javax.realtime cannot be resolved.
我有一个类似clock_gettime(CLOCK_REALTIME) 的调用,它能处理闰秒吗?如果不是,需要进行哪些更改?在 Solaris 上工作。 最佳答案 如果您的 Unix 系统与 NTP
如何在 firebase 函数的帮助下计算键的数量,在上面的例子中有 3 个。我正在使用 firebase 实时数据库 最佳答案 Firebase 实时数据库没有单独的计数操作。您必须下载父节点 (g
我正在尝试编写规则来保护数据库。但是我对编写阻止从数据库中删除任何节点的规则感到困惑。我已阅读关于 newData.exists但是当我尝试在模拟器中运行它时,删除成功了!由于可以通过将节点的值设置为
当我在ES中为文档建立索引时,我试图在刷新间隔内访问同一文档,并且搜索未返回结果。是否有Realtime GET支持,该支持允许一旦索引后就获得文档,而不管索引的“刷新率”如何。我尝试将refresh
可以将int / long序列化为enum吗? 以前我的模型是这样的: class A(var style: Int = STYLE_NORMAL) : Parcelable, Observable{
我需要在数据库和存储中存储某些变量。但重要的是要确保该变量将保存在两个数据库中,而不仅仅是一个数据库中,此外,该变量必须具有相同的值。但我发现存储和数据库没有进行通信。我该如何解决这个问题? 最佳答案
我想同时更新状态并删除打开的状态。 This is my database private void loadOrders() { FirebaseRecyclerOptions o
为了让 Android 用户通过我的应用程序注册和登录,我设置了 .read 和 .write 为 true。我的问题是任何人都可以访问用户 JSON 文件,因为它是公共(public)。如何仅通过应
我需要什么:当我在输入文本中按下键盘上的任意键时,我将其替换为字符串的内容。 这就是我所拥有的:https://jsfiddle.net/ypcxu27o/ function edValueKey(
我正在尝试用 Javascript 编写一个简单的音乐音序器。 声音将由 SoundManager2 播放 我很快意识到 setTimeout 和 setInterval 对这种计时毫无用处。它们的准
根据我过去读到的内容,我们鼓励您不要以编程方式更改 Windows 应用程序的优先级,如果您这样做,则永远不要将它们更改为“实时”。 与“高”和“高于正常”相比,“实时”进程优先级设置有何作用? 最佳
我们正在使用 firebase 实时数据库在 flutter 中开发一个应用程序,为不同的客户提供多种服务。我想为每个使用相同 firebase 项目的客户提供不同的数据库。由于 firebase 在
请帮我用快光工具包(FLTK)1.3.8绘制实时图形。我用的是eclipse CDT。已参考此位置的一些代码,但无法提供帮助。我是(外国语)的初学者。需要绘制单变量,就像这样,请帮助。对不起,我说英语
我在 Firebase 上创建了一个新项目,并在其中创建了一个实时数据库。当被问及我的数据库的安全规则时,我选择在测试模式下启动。 现在 Firebase 控制台中我的数据库的安全规则显示为: {
{ "rules": { "Users": { "$user_id": { // Grants write access
我有一个带有 I2C 温度传感器的 Raspberry Pi。 Python代码: import board import adafruit_mlx90614 import time i2c = bo
这是Firebase数据列表的图像,我试图借助以下两篇文章在我的angularDart项目中显示 1)https://qiita.com/tatsu/items/91bf9b01fd3e5d55cd0
我是一名优秀的程序员,十分优秀!