【问题标题】:upload video to youtube in .net在 .net 中将视频上传到 youtube
【发布时间】:2018-09-25 17:09:14
【问题描述】:

我需要在 .NET 中上传视频 我使用您的客户端库。当我在回调 url 收到代码时,我需要更改此代码以获取令牌。 我怎样才能做到这一点?我没有找到任何有关此的信息。 然后,我应该把这个令牌放在哪里,上传视频?

谢谢

【问题讨论】:

    标签: youtube-api youtube-data-api


    【解决方案1】:

    就像其他 quickstart 使用 Youtube API 一样,您还必须按照如何获取包含您的 token_uriclient_secret.json 的步骤:

    • 使用此向导在 Google Developers Console 中创建或选择一个项目并自动打开 API。点击继续, 然后转到凭据
    • 将凭据添加到您的项目页面上,点击取消按钮。
    • 在页面顶部,选择OAuth 同意屏幕 标签。选择一个电子邮件地址,输入一个产品名称(如果尚未设置),然后点击 保存按钮。
    • 选择Credentials标签,点击Create credentials按钮并选择OAuth client ID
    • 选择应用类型Other,输入名称“YouTube Data API Quickstart”,点击创建按钮。
    • 单击确定关闭生成的对话框。
    • 点击客户端 ID 右侧的下载图标(下载 JSON)按钮。
    • 将下载的文件移动到您的工作目录并将其重命名为client_secret.json

    client_secret.json

    {"installed":{"client_id":"837380381682-kthu0nva0f5tqli35o6hk4jiv0p9mh3s.apps.googleusercontent.com","project_id":"sureness-1534400441179","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://www.googleapis.com/oauth2/v3/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"n-5X4ssSnqw9JXFOrLAl1J1y","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}
    

    这是来自 .Net Code Sample 的代码 sn-p,其中实现了 client_secrets.json

     UserCredential credential;
      using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
      {
        credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
            GoogleClientSecrets.Load(stream).Secrets,
            // This OAuth 2.0 access scope allows for full read/write access to the
            // authenticated user's account.
            new[] { YouTubeService.Scope.Youtube },
            "user",
            CancellationToken.None,
            new FileDataStore(this.GetType().ToString())
        );
      }
    

    【讨论】:

    • 之后,我的回电中有请求。我收到代码。那我该怎么办呢?我需要将此代码交换为令牌。我怎样才能做到这一点?那么我如何在以下请求中使用它?
    • 如果您指的是刷新令牌,您可以查看此 google 文档 -> developers.google.com/identity/protocols/… 关于刷新和访问令牌的 Exchange 授权代码。
    • 当我想上传视频时,我应该把这个令牌放在 .NET 库的什么地方?
    • 你检查过这个相关的 SO 帖子吗? - stackoverflow.com/questions/7454930/…
    • 嗯,问题是:当我调用 authorizeAsync 时。发生通过浏览器重定向。我让给这个应用程序所有必需的权限。然后它发出回调请求(myapp/authorize)。我收到代码,使用该代码我可以收到令牌。然后我应该在所有后续请求中使用这个令牌。而且我不知道如何使用此令牌而不是凭据对象创建 youTubeService 对象(根据您的文档)
    猜你喜欢
    • 1970-01-01
    • 2016-05-05
    • 2012-11-11
    • 2012-03-07
    • 2019-09-24
    • 2016-08-22
    • 2012-11-01
    • 2015-01-10
    • 2013-04-04
    相关资源
    最近更新 更多