2016-09-28 63 views
1

您好,我需要從Google電子表格API訪問電子表格。我已啓用Google Sheets API並添加了API密鑰,但這不起作用! https://sheets.googleapis.com/v4/spreadsheets/[my_spreadsheet_id]/values/A1?key=[my_api_key]如何從API訪問私人電子表格?

結果是: 403 - 來電者無權

但是,如果我對這個電子表格提供公共接入--->它的工作原理!

結果是: 200 - [更正請求的數據.....]

的我的問題是: 如何獲得來自API的私人電子表格的訪問?

我需要閱讀和使用的file_get_contents像PHP的功能,從我的網站上有寫訂單數據()

+0

我想你回答了你自己的問題。你不能訪問一個私人資源(因爲它的private_) – RiggsFolly

+0

好吧,但是如何從PHP腳本提供對我的電子表格的訪問權限,但不是每個人都有公共鏈接? (沒有公開鏈接) –

+0

我想你必須將其與特定帳戶分享爲可寫,然後在登錄憑證中使用該帳戶。 – RiggsFolly

回答

3

基本上,你需要按照documentation提到獲得授權。

每當您的應用程序請求私人用戶數據時,它都必須隨請求一起發送OAuth 2.0令牌。您的應用程序首先發送一個客戶端ID,可能還有一個客戶端密鑰來獲取令牌。您可以爲Web應用程序,服務帳戶或已安裝的應用程序生成OAuth 2.0憑據。

OAuth 2.0 documentation更多信息,訪問使用OAuth 2.0谷歌的API時,所有的應用程序請按照下列步驟操作:

  1. 從谷歌API控制檯獲取的OAuth 2.0憑據。
  2. 從Google授權服務器獲取訪問令牌。

    在您的應用程序可以使用Google API訪問私人數據之前,它必須獲得授予對該API訪問權限的訪問令牌。

  3. 將訪問令牌發送到API。
  4. 如有必要,刷新訪問令牌。

最後,爲了幫助您使用PHP實現,您還可以將Authentication and authorization添加到您的參考列表。希望有所幫助!