Google Cloud Print服务的访问令牌

2 投票
1 回答
1046 浏览
提问于 2025-04-17 15:43

我想在我的应用程序中使用谷歌云打印服务。这个想法是:买家可以在我的网站上购买产品,然后把订单列表发送到供应商的打印机。

为此,供应商需要在他们的谷歌账户中注册打印机,买家会把打印请求发送到选定的供应商打印机,然后订单文件就会在供应商的打印机上打印出来。

问题是:云打印应用使用OAuth2授权,这需要谷歌账户登录和客户端ID来获取访问令牌。所以,买家需要用供应商的谷歌账号在后台登录,以获取打印机列表和提交打印任务。(可以有浏览器也可以没有)但这样做是不合适的,因为这也会让买家使用供应商账户的其他谷歌服务(比如邮件、文档等)。

所以我的问题是,有没有其他方法可以获取访问令牌?其他解决方案也欢迎。

注意:我参考了google-pythonCodecloudprinting模块。

1 个回答

1

你想要做的是让供应商通过OAuth2进行授权,并保存他们的access_token(访问令牌)和更重要的refresh_token(刷新令牌)。买家根本不需要通过Google进行授权,你可以直接用供应商的访问令牌把他们的打印任务发送到供应商的打印机。这也让管理不同打印机的访问变得更简单,因为每个供应商的Google账户已经可以访问他们自己的打印机。

刷新令牌是一个长期有效的令牌(只要供应商不撤销,它就一直有效),它可以让你在短期的access_token(有效期为1小时)过期后,仍然获取新的访问令牌。

撰写回答