2

我真的很難理解這是如何完成的。如何使用Google Drive PHP API進行身份驗證,無需複製/粘貼身份驗證令牌

我按照this example能夠將文件上傳到我們共同的谷歌驅動器帳戶。這是從Linux機器上的命令行運行的,但它要求我將URL複製/粘貼到瀏覽器中,複製授權令牌,然後將其粘貼回stdin,並交換auth令牌以最終獲得訪問令牌。

所有我需要做的是在過程自動化無需複製/粘貼URL和令牌周圍,使我的劇本只是沒有什麼需要做的,沒有來自用戶的任何干預。較早的DocumentsList API允許我們使用用戶名/密碼進行身份驗證。我知道Drive的Oauth2方法已經不再可能,但現在它會讓我的生活變得更簡單。有沒有從我的應用程序中使用某種持久性令牌的方法?

任何人都可以指向正確的方向嗎?

Regards

+0

谷歌已經開始實施持久性令牌,但目前它們僅限於一小部分用戶。業務用戶可以爲整個公司域獲取一個持久令牌。最後,一些API仍然適用於舊的電子郵件/密碼組合。 –

回答

3

您可以獲取訪問令牌和刷新令牌對,您可以將它們存儲起來以備後用。您只需要刷新令牌,因爲它可以用來獲取新的訪問令牌。

這比用戶名/密碼稍微好一點,因爲如果它已經被泄露,你可以隨時撤銷訪問令牌。

+0

好吧,現在聽起來更有希望了......感謝指針Ali Afshar。所以我已經經歷了這個過程,並檢索了我的訪問權限和刷新令牌。現在,我使用哪種格式/方法來使用google-php-api-client設置它們?我已經嘗試在'$ _SESSION ['token']'中設置刷新標記,然後'$ client-> setAccessToken($ _ SESSION ['token']);'但是我碰到一個錯誤'無法json解碼標記'。有沒有我能工作的例子?謝謝。 – user1027562

+0

我看着谷歌API客戶端的源和setAccessToken方法接受的格式的JSON字符串: '{「的access_token」:「令牌」,「refresh_token」:「令牌」,「token_type」:「承載「,」expires_in「:3600,」id_token「:」token「,」created「:1320790426}'我把我的JSON訪問標記作爲字符串保存到'$ _SESSION ['token']'中,然後傳遞給'$ client - > setAccessToken($ _ SESSION ['token']);'現在我可以訪問了!大綠色勾號:) – user1027562

+0

太好了。請回復給我們任何進一步的問題。 –