2017-02-08 101 views
2

我收到以下错误:谷歌电子表格API问题

Uncaught exception 'Google_Service_Exception' with message 
{ "error": { "code": 403, "message": "The request is missing a valid API key.", 
"errors": [ { "message": "The request is missing a valid API key.", "domain": "global", 
"reason": "forbidden" } ], 
"status": "PERMISSION_DENIED" } 
} 

我的代码是:

$client = new Google_Client(); 
$client->setAuthConfig('google-api-php-client-2.1.1/client_s‌​ecret.json'); 
$client->addScope(Google_Service_Drive::DRIVE); 
$client->setRedirectUri($redirect_uri); 
$spreadsheetId = '1Ybwc_wNhvc6tVQIRY-33qwkY0WoGj09uIQ3YQqa9fvo'; 
$range = 'sample!A2:E'; $response = $service->spreadsheets_values->get($spreadsheetId, $range); 
$values = $response->getValues(); 
if (count($values) == 0) { 
    print "No data found.\n"; 
} else { 
    print "Name, Major:\n"; 
    foreach ($values as $row) { 
      printf("%s, %s\n", $row[0], $row[4]); 
    } 
} 

谁能帮助/指导我找到问题的原因是什么?

+0

你试过的邮政编码! – Thamaraiselvam

+1

该消息告诉你什么是错误的:'该请求缺少一个有效的API密钥'。 –

+0

CODE: $ client = new Google_Client(); $ client-> setAuthConfig('google-api-php-client-2.1.1/client_secret.json'); $ client-> addScope(Google_Service_Drive :: DRIVE); $ client-> setRedirectUri($ redirect_uri); $ spreadsheetId ='1Ybwc_wNhvc6tVQIRY-33qwkY0WoGj09uIQ3YQqa9fvo'; $ range ='sample!A2:E'; $ response = $ service-> spreadsheets_values-> get($ spreadsheetId,$ range); $ values = $ response-> getValues(); if(count($ values)== 0){ print“找不到数据。\ n”; } else { print“Name,Major:\ n”; ($ value为$ row){printf(“%s,%s \ n”,$ row [0],$ row [4]); } } –

回答

0

如果这是针对php客户端库,请参阅 Using OAuth 2.0 for Web Server Applications以获取有关启用API和获取代码凭证的信息。从该页面注:

  1. 要在Web应用程序使用OAuth 2.0,先创建Web应用程序凭据API控制台项目。
  2. 所有使用OAuth 2.0的Web应用程序都必须具有可识别OAuth 2.0服务器的应用程序的凭据。拥有这些凭据的应用程序可以访问为您的项目启用的API

上述链接页面上的信息将指导您获取有效的API密钥。

+0

非常感谢。它适用于我。 –

+0

我还有一个疑问, 在“OAuth同意屏幕”选项卡中,目前只分配了一个电子邮件地址,因此该API适用于此电子邮件完美(意味着我可以获取电子表格数据,可以使用API​​更新内容) 。因此,如果我将一个组分配给单个电子邮件,那么该API将适用于组中所有分配为单个电子邮件的电子邮件吗? –

+0

我无法回答,并建议您将其作为新问题发布。 –