Невозможно запустить getYouTubeService () - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь создать приложение для Android, которое будет использовать данные API YouTube v3 и выдает результаты, принимая входные данные в качестве имени канала YouTube.Я скачал файл jar youtubeapi и скопировал его в папку lib.также я включил это как зависимость в build.gradle.но я все еще не могу запустить функцию / метод getYouTubeService ().Я не получаю ошибку.Можете ли вы помочь в этом.Код для mainActivity приведен ниже.

package com.example.loveb.youtubestats;    
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.api.services.youtube.YouTubeScopes;
import com.google.api.services.youtube.model.*;
import com.google.api.services.youtube.YouTube;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.HashMap;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        YouTube youtube = getYouTubeService();
        try {
            HashMap<String, String> parameters = new HashMap<>();
            parameters.put("part", "snippet,contentDetails,statistics");
            parameters.put("forUsername", "Aman Dhatterwal");
            YouTube.Channels.List channelsListByUsernameRequest = youtube.channels().list(parameters.get("part").toString());
            if (parameters.containsKey("forUsername") && parameters.get("forUsername") != "") {
                channelsListByUsernameRequest.setForUsername(parameters.get("forUsername").toString());
            }
            ChannelListResponse response = channelsListByUsernameRequest.execute();
            System.out.println(response);
        }
    }
}

Код для файла сборки Gradle приведен ниже.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.loveb.youtubestats"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation files('libs/YouTubeAndroidPlayerApi.jar')
}

1 Ответ

0 голосов
/ 29 сентября 2018

В библиотеке API YouTube нет getYouTubeService () метода.

Службу YouTube можно получить, объявив следующую функцию:

public static YouTube getYouTubeService() throws IOException {
    return new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
            .setApplicationName(APPLICATION_NAME)
            .build();
}
...