2013-02-13 89 views
2

我想爲我的應用程序使用谷歌雲打印服務, 概念是:買方可以從我的網站購買產品,他應該將訂單列表發送給供應商的打印機。谷歌雲打印服務的訪問令牌

爲此,供應商應在其谷歌賬戶中使用registor打印機,買方將打印請求發送給選定的供應商的打印機,訂單文件應打印在供應商的打印機上。

問題是:雲打印應用程序正在使用OAuth2身份驗證,並且它要求Google帳戶登錄和client_id獲取訪問令牌。因此,爲了創建打印機列表並提交打印作業,買方需要使用來自後端的供應商的Google憑證從Google帳戶登錄。 (有或沒有瀏覽器)這是不可接受的,因爲它也可以讓買方使用供應商賬戶的其他谷歌服務(例如郵件,文檔)。

所以我的問題是,有沒有其他方法獲得訪問令牌? 任何其他解決方案也是受歡迎的。

注:我參考了google-pythonCodecloudprinting模塊。

回答

1

您想要做的是讓供應商使用OAuth2授權並存儲它們的access_token,更重要的是存儲refresh_token。買家無需向Google授權,只需將他們的打印作業發送給供應商打印機並使用相應的供應商訪問令牌即可。這也使得更容易處理訪問不同的打印機,因爲每個供應商的Google帳戶已經可以訪問他們自己的打印機。

刷新令牌是一個長壽命令牌(在供應商撤銷之前有效),允許您在短期(1小時)訪問令牌到期後獲得新的訪問令牌。