2017-02-08 132 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

我無法回答,並建議您將其作爲新問題發佈。 –