android - 在不使用Google OAuth 2.0的情况下将视频上传到固定的YouTube帐户

时间:2014-11-13 07:06:49

标签: android google-oauth youtube-data-api

我会保持简单。我的要求是在我的Android应用程序中使用OAuth2验证静态Google帐户(使用用户名和密码)。获得oauth令牌后,我会将一些视频上传到YouTube。所有其他工作都已完成上传。但目前我正在使用GoogleAuthUtil从Android系统中选择一个帐户。像这里给出的那样(http://developer.android.com/google/auth/http-auth.html

现在我要禁用此功能。我只是想将所有视频上传到固定的YouTube / Google帐户。我也经历了this问题,但也没有答案。

我还发现了this问题并且它非常有用,但the tutorial它正在使用已删除的GoogleClientLogin,当我尝试使用GoogleClientLogin时,它会抛出异常403。然后我尝试使用OAuth2网址,它总是要求第一次登录。所以无论如何都要在没有任何用户参与的情况下对Google帐户进行身份验证并获取OAuth令牌。请帮帮我。

由于

2 个答案:

答案 0 :(得分:1)

请参阅How do I authorise an app (web or installed) without user intervention? (canonical ?)

该答案涉及服务器应用程序,但Android应用程序的行为方式相同。因此,您可以在应用中嵌入刷新令牌,或将其下载并存储,然后在应用需要访问YouTube时使用该令牌生成访问令牌。

答案 1 :(得分:1)

最后我找到了解决问题的方法。现在,我可以从我的Android应用上传视频到静态YouTube帐户。虽然Youtube Data api v2已弃用但我将此用于我的要求。 我使用以下代码将视频上传到YouTube

    YouTubeService service = new YouTubeService("project id on console.developer.google.com","androidkey");
    service.setUserCredentials("yourYouTubeAccount@gmail.com", "yourPassword");
    VideoEntry newEntry = new VideoEntry();
    YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
    mg.setTitle(new MediaTitle());
    mg.getTitle().setPlainTextContent("Video Title");
    mg.addCategory(new MediaCategory(YouTubeNamespace.CATEGORY_SCHEME, "Tech"));
    mg.setKeywords(new MediaKeywords());
    mg.getKeywords().addKeyword("anyKeyword");
    mg.setDescription(new MediaDescription());
    mg.getDescription().setPlainTextContent("VIDEO DESCRIPTION");
    mg.setPrivate(false);
    mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "mydevtag"));
    mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "anotherdevtag"));
    MediaFileSource ms = new MediaFileSource(videoFileToUpload, "video/quicktime");
    newEntry.setMediaSource(ms);
    VideoEntry createdEntry = service.insert(new URL(Constant.YOUTUBE_UPLOAD_URL), newEntry);
    Log.v("TAG", "VIDEO INSERTED ID : " + createdEntry.getId());

您将需要以下库来使用代码:

  • activation.jar
  • additionnal.jar
  • GDATA碱基1.0.jar
  • GDATA核-1.0.jar
  • GDATA媒体-1.0.jar
  • GDATA-的YouTube-2.0.jar
  • GDATA-的YouTube - 间 - 2.0.jar
  • 番石榴11.0.2.jar
  • 的mail.jar
  • servlet的api.jar文件

对于gdata库,请转到this链接并下载gdata-src.java-x.xx.x.zip和gdata-samples.java-x.x.x.zip。提取这些文件夹,您将获得所需的罐子

-Thanks