在特定的YouTube帐户中上传视频 - Android

时间:2012-07-11 18:58:47

标签: android youtube youtube-api

我想创建一个应用,用户可以上传存储在设备上或使用相机录制的视频,并自动将其上传到我拥有的特定帐户中。问题是我正在尝试使用网络上的ytdirect教程,但是getting started tutorial并不是那么容易解释,而且对于(我认为)可能使用API​​更简单的东西来说真的很复杂。 / p>

我已经按照answer这个步骤,这似乎是一个更好或者更简单的方法来实现我正在寻找使用相同的YouTube Direct,但更换GlsAuthorizer.java与该答案中的ClientLoginAuthorizer.java在项目中给我一些错误(特别是onCreate上的SubmitActivity.java与GlsAuthorizer.GlsAuthorizerFactory())(1)。

我有Developer Key和App ID,以及与之关联的URL(xyz.appspot.com)。我不知道project(2)中strings.xml中的default_ytd_domain_name是什么。

还有其他方法可以在YouTube上传视频(包含我可以使用的教程或示例代码),或者有人使用上面的第二个链接有更详细的步骤来实现上传,因为我在答案的步骤中只丢失了两(2)分。

1 个答案:

答案 0 :(得分:0)

如果已经过期,我会这样做以获得新的访问令牌。然后我将其传递回客户端并使用此令牌进行上传。

getYoutubeToken: function() {

        var now = moment();
        var result;
        if (now.diff(Meteor.settings.youtube.expiration, 'minutes') >= 50) {
            console.log('Getting new access token...')

            var options = {
                headers: {
                    "Content-Type": "application/x-www-form-urlencoded"
                },
                content: "client_secret=" + Meteor.settings.youtube.client_secret + "&grant_type=refresh_token&refresh_token=" + Meteor.settings.youtube.refresh_token + "&client_id=" + Meteor.settings.youtube.client_id
            }

            try {
                result = HTTP.call("POST", 'https://www.googleapis.com/oauth2/v3/token', options);
                Meteor.settings.youtube.access_token = result.data.access_token;
                Meteor.settings.youtube.expiration = moment();

                return Meteor.settings.youtube.access_token;
            } catch (e) {
                // Got a network error, time-out or HTTP error in the 400 or 500 range.
                return false;
            }


        } else {
            console.log('Returning access token...')
            return Meteor.settings.youtube.access_token;
        }

    }
相关问题