Android 401使用YouTube数据API V3时未经授权

Android 401使用YouTube数据API V3时未经授权,android,youtube-api,Android,Youtube Api,我以为我已经成功地实现了YouTube数据API从我的应用程序上传视频,直到我不断获得com.google.API.client.googleapis.json.GoogleJsonResponseException:401未经授权,因为我尝试了以下实现以及其他来自web的示例。有人能找出问题的原因吗 public class splash{ AccountManager.get(getApplicationContext()).getAuthTokenByFeatures(

我以为我已经成功地实现了YouTube数据API从我的应用程序上传视频,直到我不断获得com.google.API.client.googleapis.json.GoogleJsonResponseException:401未经授权,因为我尝试了以下实现以及其他来自web的示例。有人能找出问题的原因吗

public class splash{

    AccountManager.get(getApplicationContext()).getAuthTokenByFeatures(
                    "com.google", "oauth2:https://gdata.youtube.com", null,
                    this, null, null, new AccountManagerCallback<Bundle>() {

                        @Override
                        public void run(AccountManagerFuture<Bundle> future) {
                            try {
                                Bundle bundle = future.getResult();
                                String acc_name = bundle
                                        .getString(AccountManager.KEY_ACCOUNT_NAME);
                                String auth_token = bundle
                                        .getString(AccountManager.KEY_AUTHTOKEN);



                                Log.d("", "name: " + acc_name + "; token: "
                                        + auth_token);

                                editor.putString("USER_ACCOUNT_PREF", acc_name);
                                editor.putString("USER_ACCOUNT_AUTH_PREF", auth_token);

                            } catch (Exception e) {
                                Log.e("", e.getClass().getSimpleName() + ": "
                                        + e.getMessage());
                            }
                        }
                    }, null);

我已经解决了我的问题

credential = GoogleAccountCredential.usingOAuth2(this,
    YouTubeScopes.YOUTUBE_UPLOAD,YouTubeScopes.YOUTUBEPARTNER,YouTubeScopes.YOUTUBE);       
    credential.setSelectedAccountName(mPreferences.getString(PREF_ACCOUNT_NAME, null));
    youtube = new YouTube.Builder(
    transport, jsonFactory, credential).setApplicationName(
    "PoliceWitness").build();

我已经解决了我的问题

credential = GoogleAccountCredential.usingOAuth2(this,
    YouTubeScopes.YOUTUBE_UPLOAD,YouTubeScopes.YOUTUBEPARTNER,YouTubeScopes.YOUTUBE);       
    credential.setSelectedAccountName(mPreferences.getString(PREF_ACCOUNT_NAME, null));
    youtube = new YouTube.Builder(
    transport, jsonFactory, credential).setApplicationName(
    "PoliceWitness").build();

“消息”:“无效凭据”-消息似乎非常清楚和明显。我知道这似乎是在浪费时间,但我检查了很多事情,我想知道他们的问题是否在于我如何获取令牌、使令牌无效、范围是否错误或任何其他任意细节。我已经检查了一遍又一遍,改变了一些事情,但我仍然得到了同样的回应。我的代码似乎是标准的,有很多例子。@RedChris。。我无法找出是什么使您的代码工作。你能帮我解决这个问题吗,因为我面临着同样的问题。谢谢稍后我会查看我的代码并尝试找到最终答案,但这一切都与凭证有关,以及我如何创建它的“消息”:“无效凭证”-消息似乎非常清楚和明显。我知道这似乎是在浪费时间,但我检查了很多事情,我想知道他们是否是我如何获取令牌、使其无效、范围是否错误或任何其他任意细节的问题。我已经检查了一遍又一遍,改变了一些事情,但我仍然得到了同样的回应。我的代码似乎是标准的,有很多例子。@RedChris。。我无法找出是什么使您的代码工作。你能帮我解决这个问题吗,因为我面临着同样的问题。谢谢稍后我会查看我的代码并尝试找到最终答案,但这一切都与凭证有关,以及我是如何创建的。请详细说明您的答案,以便我可以投票。我执行了与您的答案相同的步骤,但此方法已被弃用&在我的方法中不起作用。我的意思是,我也得到了同样的结果。如果是这样的话,我不知道该怎么做。大约一年前我停止了这个项目。我唯一的想法是试着找到一些完整的例子。你能详细说明你的答案吗,这样我就可以投票了。我做了与你答案相同的步骤,但这种方法已被弃用&在我的方法中不起作用。我的意思是,我也得到了同样的结果。如果是这样的话,我不知道该怎么做。大约一年前我停止了这个项目。我唯一的想法就是试着找到一些完整的例子。
credential = GoogleAccountCredential.usingOAuth2(this,
    YouTubeScopes.YOUTUBE_UPLOAD,YouTubeScopes.YOUTUBEPARTNER,YouTubeScopes.YOUTUBE);       
    credential.setSelectedAccountName(mPreferences.getString(PREF_ACCOUNT_NAME, null));
    youtube = new YouTube.Builder(
    transport, jsonFactory, credential).setApplicationName(
    "PoliceWitness").build();