Php 谷歌电子表格API问题

Php 谷歌电子表格API问题,php,api,google-sheets,Php,Api,Google Sheets,我得到以下错误: 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": "

我得到以下错误:

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]);
    }
}

有人能帮助/指导我找到问题的原因吗?

如果这是针对php客户端库的,请参阅 有关启用API和获取代码凭据的信息。从该页注意:

  • 要在web应用程序中使用OAuth 2.0,请首先在API控制台中为您的项目创建web应用程序凭据
  • 所有使用OAuth 2.0的web应用程序都必须具有将应用程序标识到OAuth 2.0服务器的凭据。具有这些凭据的应用程序可以访问您为项目启用的API

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

    如果这是针对php客户端库的,请参阅 有关启用API和获取代码凭据的信息。从该页注意:

  • 要在web应用程序中使用OAuth 2.0,请首先在API控制台中为您的项目创建web应用程序凭据
  • 所有使用OAuth 2.0的web应用程序都必须具有将应用程序标识到OAuth 2.0服务器的凭据。具有这些凭据的应用程序可以访问您为项目启用的API

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

    如果您以后更新应用程序范围,则必须重新验证并更新credentials.json

    如果以后更新应用程序作用域,则必须重新验证并更新credentials.json

    张贴您尝试过的代码!消息告诉您出了什么问题:
    请求缺少有效的API密钥。
    。code:$client=new Google_client()$client->setAuthConfig('google-api-php-client-2.1.1/client_secret.json')$client->addScope(Google\u服务\u驱动器::驱动器)$客户端->设置重定向uri($redirect\u uri)$电子表格ID='1Ybwc_wNhvc6tVQIRY-33qwkY0WoGj09uIQ3YQqa9fvo'$范围='样本!A2:E'$响应=$service->spreadsheets\u values->get($spreadsheetId,$range)$values=$response->getValues();如果(count($values)==0){print“未找到数据。\n”;}否则{print”名称,主修:\n;foreach($row的值){printf(“%s,%s\n”,$row[0],$row[4]);}}您尝试过的Post代码!消息告诉您出了什么问题:
    请求缺少有效的API密钥。
    。code:$client=new Google_client()$client->setAuthConfig('google-api-php-client-2.1.1/client_secret.json')$client->addScope(Google\u服务\u驱动器::驱动器)$客户端->设置重定向uri($redirect\u uri)$电子表格ID='1Ybwc_wNhvc6tVQIRY-33qwkY0WoGj09uIQ3YQqa9fvo'$范围='样本!A2:E'$响应=$service->spreadsheets\u values->get($spreadsheetId,$range)$values=$response->getValues();如果(count($values)==0){print“未找到任何数据。\n”;}else{print”Name,Major:\n;foreach($row的值){printf(“%s,%s\n”,$row[0],$row[4]);}}我还有一个疑问,在“OAuth同意屏幕”选项卡中,当前只分配了一个电子邮件地址,因此API适用于此电子邮件地址(意味着我可以获取电子表格数据,可以使用API更新内容)。因此,如果我分配一个组而不是一封电子邮件,API是否会对分配给该组的所有电子邮件起作用?我无法回答,建议您将其作为一个新问题发布。我还有一个疑问,在“OAuth同意屏幕”选项卡中,当前只分配了一个电子邮件地址,因此API适用于此电子邮件(意味着我可以获取电子表格数据,可以使用API更新内容)。因此,如果我分配一个组而不是一封电子邮件,那么API是否适用于分配为同一封电子邮件的组中的所有电子邮件?我无法回答这一问题,并建议您将其作为新问题发布。