2012-06-15 15 views
12

ちょっと私がダウンロードして、からYouTubeサンプルプロジェクトをビルドしました。アプリケーションがうまく構築され、クライアントのIDと秘密を入力しました。私はユーチューブのアカウントでログインしてクリックすると、続いて「許可」ボタンは、私はこのエラーサンプル「gdata-objectivec-client」で「invalid_client」エラーが発生しました

Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x6a03a350 {data=<7b0a2020 22657272 6f722220 3a202269 6e76616c 69645f63 6c69656e 74220a7d>, json=<CFBasicHash 0x6a01b6b0 [0xac0251a0]>{type = mutable dict, count = 1, 
entries => 
2 : <CFString 0x6a01b720 [0xac0251a0]>{contents = "error"} = <CFString 0x6a054b90 [0xac0251a0]>{contents = "invalid_client"} 

またはXcodeのログからの取得:

2012-06-15 10:49:30.627 YouTubeSample[976:b03] Error Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x6980d2c0 {data=<7b0a2020 22657272 6f722220 3a202269 6e76616c 69645f63 6c69656e 74220a7d>} 
Error data: 
{ 
error = "invalid_client"; 
} 

私は新しいクライアントIDを作成し、入力しようとしました利用可能。 私は意図的にそれを破壊したり、空白のままにしても同じ結果を得るので、秘密が正しく送信されていないようです。

提案がありますか?

+0

どのように私はクライアントIDを取得することができます.GDATA APIを正常に完了したら、サンプルコードを教えてください。 –

+0

私は時々このエラーがあります。そしてそれは数分後に魔法のように動作します。それが接続の問題であるかのように。この瞬間まで解決策が見つからなかった –

答えて

0

クライアントIDと秘密は、インストールされたアプリケーションのために特別に、Google API consoleで発行する必要があります(ないWebアプリケーションのため。)

+1

はい、私はそれをしました。私たちは実際には同じIDと秘密で動作する別のコードサンプルを持っているので、それは問題だとは思っていません。サンプルに実装されている再開可能なアップロード機能を使用したいので、サンプルコードを使用したいと考えています。しかし、私が何を試みても、このコードを動作させることはできません。私は新しい秘密を作成しようとしましたが、彼らは間違いなくウェブではなく "アプリケーション"に設定されています。秘密はちょうど送られていないように見えます... – Rob

32

私は少し遅れていますが、それは他の人を助けるかもしれない...

をグーグルでAPI-Consoleで新しいクライアントIDを作成し、「iOS」ではなく「Other」に設定します。それは動作するはずです。

+0

あなたは右です!最後の質問 - それはなぜ起こったのですか?おそらくcoz ios clientIDにリダイレクトURIに関する情報が含まれていますか?それを使用する方法? –

+1

私は本当になぜそれが働くか分かりません= /。しかしそれはそうです。また、リダイレクト自体を処理するGTMOAuthライブラリを使用しました。私は自分自身でAPIコンソールにリダイレクトURLを置くことはありません。 – tGilani

+0

ありがとうございます。私はこの奇妙なエラーに苦しんで約1時間を過ごしました。 – Heitara

1

私は同じ問題がありました。問題は、Google APIコンソールサービスセクションの「iOS用GoogleマップSDK」が無効になっていたことです。

0

私の場合、正しいプロジェクト名を使用していませんでした。私はプロジェクトエイリアス名を使用していました。正しいプロジェクト名を使用した後、私の問題が修正されました。

関連する問題