アンドロイドアプリからandroid用のyoutube APIキーを使ってjsonを取得しようとしているのですが、うまくできません。
開発はandroidstudioで行っています。
まずGoogleDevelopersConsoleでandroidのAPIキーを作成。
この時登録したkeystoreのSHA1は/Users/ユーザ名/.androidの中のdebug.keystoreファイル。
以下確認したこと
1.ブラウザ用のAPIキーを使ってブラウザから見るとしっかりjsonファイルが返ってくる。
2.ブラウザ用のAPIキーで作成中のアンドロイドアプリからアクセスするとちゃんとjsonが返ってくる。
3.作成中のアンドロイドアプリからandroidで登録したAPIキーを使ってアクセスすると例外エラーがでてしまう。
アンドロイドからのアクセスなので普通は2のやり方でjsonが返ってくるのはおかしく、3.のやり方が正しいような気がするのですがうまくいきません。
そもそも登録するSHA1がdebug.keystoreファイルでいいのか?
androidマニフェストに何か記述はいらないのか?
等よくわからないことだらけです。
2.のやり方でjsonを取得できているのでプログラム的な問題ではないような気がしますが原因がまったくわからない状況です。
例外時のログです。
パッケージ名とAPIキーは削除してます。
W/System.err: java.io.FileNotFoundException: https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCxjXU89x6owat9dA8Z-bzdw&key={anjdroidAPIキー}
W/System.err: at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177)
W/System.err: at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
W/System.err: at HttpGetTask.doInBackground(HttpGetTask.java:60)
W/System.err: at HttpGetTask.doInBackground(HttpGetTask.java:20)
W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:287)
W/System.err: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:137)
W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
W/System.err: at java.lang.Thread.run(Thread.java:856)
あなたの回答
tips
プレビュー