2016-09-28 62 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添加到您的参考列表。希望有所帮助!