web-dev-qa-db-ja.com

YouTube Data APIをAndroid Studioに追加します

したがって、私は現在Android自分の自由な時間のプログラミングをいじっています。私はAndroid studioを私の選択として使用しています。現在、 YouTube APIを使用して非常にシンプルなアプリを作成します。私の問題は、実際にAPIをアプリケーションに取り込む方法がわからないことです。ファイル>プロジェクト構造を使用してアプリケーションにコンテンツを追加しましたが、それだけでは機能しません。構文エラーについて怒鳴り止まりますが、コンパイルするとエラーになります。

私はこれを少し調べて、build.gradleまたはsettings.gradle(または両方)にものを追加する必要があることを発見しましたが、何をすべきかについての明確な答えを見つけていません。これまでに試したすべてが機能しませんでした。 SO誰かが私に何をしなければならないかを説明したり、何をすべきかを説明している場所に私をリンクしたりできるなら

-編集-

私は今とても混乱しています。新しいプロジェクトを始めました。私はライブラリを追加しましたが、それでもコンパイルできました。次にインポートを追加したところ、エラーが発生しました。次に、これらをbuild.gradleに追加すると、完全にコンパイルできました

compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')

しかし、ライブラリを必要とするこのコードを追加したとき

/** Global instance of the HTTP transport. */
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();

/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = new JacksonFactory();

/** Global instance of Youtube object to make all API requests. */
private static YouTube youtube;

構文は問題ありませんでしたが、コンパイル時にエラーが発生しました

 Gradle: Execution failed for task ':Apitest:dexDebug'.
> Failed to run command:

その後、約100行のファイルの場所が続きました

私が間違っていることについてのアイデアはありますか?

23
Bigandrewgold

この依存関係をgradleファイルに追加するだけです:

compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0'

youTubeオブジェクトを使用します。

リファレンス: https://developers.google.com/api-client-library/Java/apis/youtube/v

40
Evgeni Roitburg

ステップ1: https://developers.google.com/youtube/Android/player/downloads/ からYoutubeAndroidPlayerApi.jarをダウンロードします

ステップ2:プロジェクトのappフォルダー内のlibsフォルダーに貼り付けます

ステップ3:プロジェクトのappフォルダーのbuild.gradleに次の行を追加します。

compile files('libs/YouTubeAndroidPlayerApi.jar')

ステップ4:YouTubeBaseActivityを拡張し、YouTubePlayer.OnInitializedListenerを実装する以下のインポートをアクティビティに追加します

import com.google.Android.youtube.player.YouTubeBaseActivity;
import com.google.Android.youtube.player.YouTubeInitializationResult;
import com.google.Android.youtube.player.YouTubePlayer;
import com.google.Android.youtube.player.YouTubePlayerView;
import com.google.Android.youtube.player.YouTubePlayer.Provider;

ステップ5:OnCreateメソッドの内部:

//Make sure you initialize youtube player

YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);

youTubeView.initialize(YoutubeAPIKey, this);

プロジェクトをWebモードで登録した後、GoogleコンソールからYouTubeAPIKeyを取得する場合は、Androidなどのモバイルドメインを選択しないでください。

ステップ6:次のように実装されたインターフェースのメソッドをオーバーライドします。

@Override
public void onInitializationFailure(Provider arg0,
        YouTubeInitializationResult error) {
    // TODO Auto-generated method stub
    Toast.makeText(this, "Oh no!      
    "+error.toString(),Toast.LENGTH_LONG).show();

}

@Override
public void onInitializationSuccess(Provider arg0, YouTubePlayer player,
        boolean arg2) {
    // TODO Auto-generated method stub
    player.loadVideo(VIDEO_ID);
}

VIDEO_IDがYoutube APIへのRESTful呼び出しからフェッチされる場所: " https://www.googleapis.com/youtube/v3/search "適切なパラメーターがGETに渡され、 "q、relevanceLanguage、type 、キー」など.

15
Anand Kamathi