2013-06-18 52 views
62

我儘量讓YouTube的視頻上傳網頁,所以我試圖從谷歌API控制檯中的客戶端ID,並在API控制檯就說明是這樣的:invalid_client在谷歌的oauth2

Client ID: 533832195920.apps.googleusercontent.com 
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php 
https://developers.google.com/oauthplayground 

然而,當我嘗試使用下面的URL來測試我的帳戶:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube&response_type=code&access_type=offline

它給出了invalid_client的結果。即使我在oauth2遊樂場嘗試,也會發生同樣的失敗

所以,任何人都知道會發生什麼?

+6

我發現有時oauth2客戶端ID不起作用。我不知道爲什麼,但是當我打開一個新帳戶並再次創建客戶端ID時,它可以正常工作。 – Bob

+2

鮑勃是正確的,創建客戶端ID解決了這個問題 –

+4

確保複製/粘貼客戶端ID時不包括尾隨空格。這對我來說是訣竅... – andig

回答

0

在Google API控制檯上檢查您的項目名稱。 您選擇您創建的另一個項目。 我是同樣的錯誤。 我的錯誤是選擇diffirent項目。

2

錯誤是否也報告它缺少應用程序名稱?我有這個問題,直到我在項目設置對話框中創建項目名稱(例如「項目X」)。

98

設置/更改您的產品名稱,我有這個問題,直到我創建一個產品名稱與項目名稱相同。

產品名稱可以在Google Developers Console的「同意」屏幕部分爲您的項目設置。查看左側導航欄中的API & auth並選擇同意屏幕。 您還需要在產品名稱上方的框中設置您的電子郵件地址。

+4

謝謝!我得到錯誤「」錯誤:invalid_client。 「今天浪費了幾個小時的時間,但是剛剛更新了產品名稱,並且嘿-presto,問題得到了解決,那個錯誤是* so *誤導性的 – IanB

+2

什麼是產品名稱? –

+4

它是在同意的情況下你必須填寫'PRODUCT NAME'字段 –

7

在這個線程我找到了我的答案。

  1. 我去谷歌控制檯,
  2. 產生一個新的項目,取得刷新,因爲在我的情況下創建的頁面沒有加載後
  3. 選擇新項目
  4. 創建客戶端ID
  5. 使用它你需要什麼

感謝球員:d

16

在Google開發人員控制檯的同意屏幕中設置電子郵件地址和產品名稱,可解決「錯誤:invalid_client」錯誤。 「對我來說,」

4

在我的情況下,這竟然是別的東西,即我的代碼使用了一個環境變量,沒有正確設置(愚蠢地沒有被我的代碼檢查)。設置它,重新編譯的資產,並重新啓動應用程序並獲得成功。

4

我在ID有.apps.googleusercontent.com兩次。

這是一個複製和粘貼的問題「你的ID HERE」 .apps。 googleusercontent.com

+4

礦是兩端留下的空白處:/ – Christian

0

在證書 接受來自這些HTTP引用者(網站)的請求(可選) 使用星號作爲通配符。如果您保留這個空白,請求將被任何引用者接受。請務必在生產中使用此密鑰之前添加推薦人。 Add (星星點)。它的工作對我罰款

47

從谷歌網頁UI複製值之後,我有一個空格爲:

  • client_id
  • secret

,並在BEGINNING,並在END

+2

此問題仍然存在:P – Abhinay

+1

令人難以置信,即使點擊API控制檯中的「複製」按鈕......您會認爲Google的開發人員區域對空白敏感! – Reisclef

+0

這裏也不可思議。刪除字符串兩邊的額外空格。然後,如果在遵循所有在這裏所說的話之後,沒有任何工作仍然有效,請刪除應用程序/項目並重新創建它,因爲可能存在緩存問題。 – ifelsemonkey

0

我意外地在URL的Client Secret部分中有值,但Google Credential不需要Android OAuth 2客戶端ID的客戶端密鑰。只需在URL中留下空白值對我來說是個訣竅。

24

修剪從client_idclient_secret的前導和尾隨白色空間。 Google的複製按鈕不會爲您執行此操作。

Client ID and Client Secret

設置都爲在OAuth同意畫面中的電子郵件地址和產品名稱字段。

OAuth Consent Screen Configuration

+0

這一直使我瘋狂,這是我的修復。謝謝。 – Qsiris

+1

你可能不應該把你的客戶的祕密暴露在這樣​​的答案中。 – Fernando

+1

@Fernando這是一個扔掉的帳戶。 –

1

可能太舊憑證無效

見下文

stackoverflow answer

或短的名字,答案可能工作

見下文 stackoverflow answer

答案

或產品名稱相同的項目名稱已經

回答有時一個可包括在

檢查額外空間的兩倍此行,您將被重定向到正確的網址

0

適用於我的步驟:

  1. 刪除不適合您的憑證
  2. 創建OAuth同意畫面上一些NAME新憑證
  3. 填寫同名
  4. 填寫電子郵件地址在OAuth同意畫面

的名稱應該是完全一樣的。

2

invalid_client也可以簡單地表示在創建Oauth2對象時,您的客戶端ID和客戶端密鑰錯誤。

2

我解決了這個問題,通過從我的clientID和clientSecret值中刪除不必要的引號。

+0

您的先生/女士是一個傳奇!我從Heroku環境變量中刪除了引號。 – grabury

0

另一件事來檢查:

當您安裝GoogleAPIs與一的NuGet NET應用程序,它會在你* config文件注入了一組新的虛擬價值。

檢查是否有原始值仍然存在,並刪除虛擬條目。

0

我解決我的問題與裝飾:

'google' => [ 
    'client_id' =>trim('client_id), 
    'client_secret' => trim('client_secret'), 
    'redirect' => 'http://localhost:8000/login/google/callback', 
], 
0

以下的沒有一個是我的問題 - 我打開隱身窗口解決了這個。有些東西顯然被緩存在某個地方,沒有任何改變auth客戶端設置的幫助,並且配置值中沒有任何尾隨或前導空格。