首页 > 解决方案 > 在 .net 中将视频上传到 youtube

问题描述

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

谢谢

标签: youtube-apiyoutube-data-api

解决方案


就像其他使用 Youtube API 的快速入门一样,您还必须按照有关如何获取client_secret.json包含您的token_uri:

  • 使用此向导在 Google Developers Console 中创建或选择一个项目并自动打开 API。单击继续,然后转到凭据
  • 在将凭据添加到您的项目页面上,单击取消按钮。
  • 在页面顶部,选择OAuth 同意屏幕选项卡。选择一个电子邮件地址,输入产品名称(如果尚未设置),然后单击保存按钮。
  • 选择Credentials选项卡,单击Create credentials按钮并选择OAuth client ID
  • 选择应用类型Other,输入名称“YouTube Data API Quickstart”,点击创建按钮。
  • 单击确定以关闭生成的对话框。
  • 单击客户端 ID 右侧的下载图标(Donwload 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 代码示例的代码片段, 其中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())
    );
  }

推荐阅读