Google drive api 在Google和Google Drive上同时使用操作?
我是一个业余的学生开发者,在Google上玩Actions,在Google Home上创建一个简单的“文本冒险”游戏。由于Google Home将与玩家对话,而不是与阅读文本的玩家对话,我希望这将创造一种类似于“龙与地下城”角色扮演游戏的体验,让计算机充当“地下城大师”。借助API.AI提供的自然语言帮助和Google上的Actions,这似乎是一种很好的搭配,因为玩家可以“自然地”回应 然而,每次我启动游戏,它总是一个新的游戏。我想将用户先前状态的savegame存储在用户的Google Drive上托管的JSON文件中——因为我只是一名学生,这样做只是为了好玩,我实际上没有一个官方网站或任何东西,除了运行应用程序的免费Heroku服务器之外,在我这端存储存储几乎是不可能的 我已经通过了,我已经得到了工作在控制台刚刚好。唯一的问题是在快速启动中,用户必须单击一个链接才能授权应用程序读取他们的Google Drive帐户中的内容,我不确定如何才能“单击链接”并通过Google Home上的语音返回访问令牌Google drive api 在Google和Google Drive上同时使用操作?,google-drive-api,google-oauth,actions-on-google,Google Drive Api,Google Oauth,Actions On Google,我是一个业余的学生开发者,在Google上玩Actions,在Google Home上创建一个简单的“文本冒险”游戏。由于Google Home将与玩家对话,而不是与阅读文本的玩家对话,我希望这将创造一种类似于“龙与地下城”角色扮演游戏的体验,让计算机充当“地下城大师”。借助API.AI提供的自然语言帮助和Google上的Actions,这似乎是一种很好的搭配,因为玩家可以“自然地”回应 然而,每次我启动游戏,它总是一个新的游戏。我想将用户先前状态的savegame存储在用户的Google Dr
有没有办法通过谷歌硬盘做到这一点?还是有更好的方法在会话之间提供持久数据?我通常不从事web开发工作,因此希望您能提供任何帮助。坏消息是,您将无法摆脱用户使用其web浏览器授权您的应用程序访问其驱动器的需要
好消息是你只需要做一次。当你的应用程序请求授权时,它应该指定“离线”,这将导致你得到一个刷新令牌。您应该将其保存在用户数据库中的某个位置。每当您需要访问用户的驱动器时,您都可以使用保存的刷新令牌请求访问令牌,这样您就可以开始了。您有一些问题需要在这里解决,虽然它们看起来是相关的,但它们并不像您希望的那样相关:
- Home在发送到webhook的JSON中提供。如果您使用的是Actions API库,则可以使用
访问此文件,或者在JSON中的getUser().user\u id
字段中访问此文件。虽然这类似于浏览器cookie,但它只存储用户ID,不能存储其他数据。也没有“本地存储”的概念。从好的方面来说,这个ID在不同的设备上是一致的data.user.user\u id
- 您可以请求他们的姓名和地址。但它没有任何独特的或帐户信息,所以这可能对您没有用处
- 您可以实现OAuth2服务器并执行以下操作。请注意,这与您需要使用Google Drive做的事情是不同的——您将提供访问和刷新令牌,以验证和授权对您帐户的访问,Google Home设备将把这些令牌发送回您,以便您可以确定用户是谁。您实际上不需要存储帐户信息——您可以使用JSON Web令牌(JWT)或其他方法提供令牌信息,并让它们以安全的方式存储帐户信息。用户将使用Google Home应用程序作为一次性事件实际登录您的服务
我认为你的思路是正确的——使用硬盘是存储用户信息的好地方。使用Home的帐户链接为您提供了一个位置,他们必须访问您的网站来验证和授权他们的家,您可以使用该位置对他们的驱动器执行相同的操作。啊,我明白了。所以没有办法绕过我自己的用户帐户系统来存储这些东西。看来我还有更多的学习要做!同时,我将把这个标记为可接受的答案。谢谢