不知從何時起,Chrome 成了我用得最多的桌面瀏覽器。然而最近(版本為 Chrome 54,系統為 Windows 7),發現打開百度地圖或者通過百度的搜索結果打開某些頁面的時候,就會導致相關的標簽頁出現“喔唷,崩潰啦”這樣的錯誤(正在寫此文的時候,發現今天更新為 Chrome 55 之后,這個問題已不存在),於是嘗試開源的使用 Chromium(下載之后解壓即可使用)。
可是,問題來了,一打開 Chromium,地址欄下方就提示 “缺少 Google API 密鑰,因此 Chromium 的部分功能將無法使用”(如上圖所示)。這直接導致了無法在 Chromium 登錄 Google 賬戶並同步各種信息。網上有人說:
打開 windows 的 CMD 命令提示符,依次輸入以下命令:
setx GOOGLE_API_KEY "no"
setx GOOGLE_DEFAULT_CLIENT_ID "no"
setx GOOGLE_DEFAULT_CLIENT_SECRET "no"
其實就是設置這樣三個環境變量,值均為“no”。然而這樣只是消除了哪行提示而已(對於沒有 Google 賬戶的“良民”們,或許有用),Google 賬戶還是無法登錄。點擊那條提示信息右側的“了解詳情”,打開的頁面上,講解了如何獲取自己的 Google API 密鑰,但是由於當時的條件所限(我的 Google 賬戶在 Google Cloud Platform 創建的項目數量已經達到上限,而要取消以騰出空位的話,不能立即生效),就沒有去申請自己的 Google API 密鑰,於是這個問題就暫時擱置了。GitHub 上也有一篇類似的文章介紹如何創建自己的 Google API密鑰,顯得稍微通俗易懂。
今天,在 Debian Jessie 為 Chromium 設置 PepperFlashPlayer 的時候,在/etc/chromium.d 目錄中看到一個 apikeys 文件。打開它,看到里面的內容如下:
# API keys assigned to Debian by Google for access to their services like sync and gmail.
export GOOGLE_API_KEY="AIzaSyCkfPOPZXDKNn8hhgu3JrA62wIgC93d44k"
export GOOGLE_DEFAULT_CLIENT_ID="811574891467.apps.googleusercontent.com"
export GOOGLE_DEFAULT_CLIENT_SECRET="kdloedMFGdGla2P1zacGjAQh"
這不就是設置環境變量嗎?於是將上述文章中提到的環境變量按照這個 apikeys 文件中的值進行設置,即在 CMD 中執行:
setx GOOGLE_API_KEY AIzaSyCkfPOPZXDKNn8hhgu3JrA62wIgC93d44k
setx GOOGLE_DEFAULT_CLIENT_ID 811574891467.apps.googleusercontent.com
setx GOOGLE_DEFAULT_CLIENT_SECRET kdloedMFGdGla2P1zacGjAQh
再嘗試打開 Chromium,發現提示消失了,Google 賬戶也能登錄了。
轉載自:https://www.oixxu.com/windows-chromium-lacks-google-api-key/