我正在尝试创建一个Android应用程序,它将使用youtube数据api v3并通过输入作为youtube频道的名称来给出结果。我已经下载了youtubeapi jar文件并将其复制到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')
}
答案 0 :(得分:0)
YouTube API库没有 getYouTubeService()方法。
您可以通过声明以下功能来获得YouTube服务:
public static YouTube getYouTubeService() throws IOException {
return new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
}