訪問文件時,404我要讀谷歌驅動器上的Excel文件。我需要自動連接到谷歌驅動沒有提示任何形式......一個機器人必須閱讀文件...我有這樣的代碼:錯誤通過服務帳戶
$service_account_file = dirname(__FILE__) . '/key-85ac95ab1e62.json';
$spreadsheet_id = 'the_id_inside_the_url_of_the_file';
$spreadsheet_range = 'Sheet1!A1:A1';
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $service_account_file);
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Sheets::SPREADSHEETS);
$service = new Google_Service_Sheets($client);
$result = $service->spreadsheets_values->get($spreadsheet_id, $spreadsheet_range);
var_dump($result->getValues());
不順心的事......我解釋我是如何產生的key-*.json
文件:
在Google Console Developer
我點擊服務帳戶,然後我創建了一個新的並下載了json ..這個json是key-*.json
文件。我已經在我的項目添加文件(你可以在第一行看)......在這裏,我複製Account Service Id
,我會在以後使用...
現在我解釋我是如何得到spreadheet_id
...我去在我的谷歌驅動器上,右鍵點擊該文件,我與Account Service Id
(複製之前)共享它,並且已經生成了一個網址...如果我在瀏覽器中複製並通過網址,一切正常,但不在項目中...我把spreadsheet_id從URL
這是錯誤我收到:
PHP Fatal error: Uncaught Google_Service_Exception: {
"error": {
"code": 404,
"message": "Requested entity was not found.",
"errors": [
{
"message": "Requested entity was not found.",
"domain": "global",
"reason": "notFound
}
],
"status": "NOT_FOUND
}
}
有什麼不對?該文件存在,我用我的PHP文件中使用相同的URL卡恩看到它的瀏覽器...所以我認爲這是一個連接或登錄問題...
什麼想法?
你需要在谷歌API服務帳戶,並使用該帳戶進行連接。 API文檔用示例解釋了這一切。 – ADyson
我有一個服務帳戶...和我讀的文檔....我上粘貼後的代碼是從文件...但它不是我所需要 – Ciccio
如果你有一個服務帳戶,那麼爲什麼它要求用戶憑據?你從哪裏找到了這個代碼示例? – ADyson