0

我正在尝试 在我的 android 应用程序中使用新的 Youtube API V3: https ://developers.google.com/youtube/v3/。

为了让用户登录 youtube 服务,我选择了新的 Google Play 服务:http: //developer.android.com/google/play-services/index.html

这是我的代码:

AccountManager manageurcomptes = AccountManager.get(ActiviteGeneral.this);
Account[] comptes = manageurcomptes
                        .getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
String jeton;
try {
    jeton = GoogleAuthUtil.getToken(ActiviteGeneral.this, comptes[0].name,
        "audience:server:client_id:xxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com");
    int i = 0;
} catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
} catch (GoogleAuthException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();

对于 GoogleAuthUtil.getToken 范围参数,我遵循了来自 Android 开发者博客的文章:“验证来自 Android 应用程序的后端调用” http://android-developers.blogspot.fr/2013/01/verifying-back-end-calls -from-android.html并在 Google API 控制台上注册了我的应用程序。

我创建了一个“已安装应用程序的客户端 ID”。

结果是带有“detailMessage”=“未知”的 GoogleAuthException。

错误在哪里?

4

1 回答 1

2

我做了一个例子,展示了如何从运行良好的 Android 应用程序访问 YouTube API v3:

http://lookthiscode.blogspot.com.ar/2013/01/utilizando-youtube-data-api-v3-desde.html

实际上这个例子是基于官方的例子,展示了如何从一个 Android 应用程序中使用任务 API。我修改了示例以使用 YouTube API 身份验证范围。

这篇文章是西班牙文,但您可以使用文章末尾的链接下载项目的源代码。

解决您的问题的主要代码如下:

// Google Accounts
credential = GoogleAccountCredential.usingOAuth2(this, YouTubeScopes.YOUTUBE, YouTubeScopes.YOUTUBE_READONLY);
SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
// YouTube client
service =
        new com.google.api.services.youtube.YouTube.Builder(transport, jsonFactory, credential)
            .setApplicationName("Google-YouTubeAndroidSample/1.0").build();
于 2013-01-23T22:23:34.903 回答