YouTube Data API v3:无需打开浏览器即可从服务器上传视频

2024-03-27

我每天尝试从我的服务器上传视频到我的帐户,但浏览器无法访问。我可以在桌面上执行此操作,通过运行下面提到的脚本打开浏览器,请求我的权限并完成上传视频所需的完整授权,然后上传视频。

python upload_video.py --file clips/concatenated.mp4 --title testing --desc empty_dec

/Users/devansh.dalal/Desktop/hackathon/tiktoki/venv/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access upload_video.py-oauth2.json: No such file or directory
  warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?client_id=73183172161-48495o1tqgjgih3v7j218av2bghdcm30.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.upload&access_type=offline&response_type=code

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

  --noauth_local_webserver

Authentication successful.
Uploading file...

但我想要一个不需要手动授权脚本的解决方案,因为我的服务器是完全安全的。请提出建议?


首先请注意,API 上传视频所需的授权与您服务器的安全级别无关。您可以阅读文档适用于移动和桌面应用程序的 OAuth 2.0 https://developers.google.com/youtube/v3/guides/auth/installed-apps有关独立计算机上的授权流程的完整信息。

该文档指定steps 4 https://developers.google.com/youtube/v3/guides/auth/installed-apps#handlingresponse and step 5 https://developers.google.com/youtube/v3/guides/auth/installed-apps#exchange-authorization-code。通过初始 OAuth 流程,您将获得两个令牌:一个短期访问令牌和一个按需生成访问令牌的刷新令牌。没有浏览器无法进行身份验证,但是一旦拥有刷新令牌,就可以通过编程方式交易访问令牌:

  1. 初始化:通过浏览器认证获取刷新令牌;

  2. 迭代:根据需要多次查询 API 以获得访问令牌——无需任何浏览器交互! -- 使用 (1) 中的刷新令牌,然后进一步调用目标 API 端点(同样,无需任何浏览器交互)。

请注意,步骤(1)和(2)完全可以分开,使得(1)由将刷新令牌存储到文件中的独立(本地)计算机执行;稍后,在另一台远程计算机(例如未安装浏览器的服务器)上安全传输该文件后,根据需要在该远程计算机上重复执行 (2) (看将 OAuth 2.0 用于服务器端独立脚本 https://developers.google.com/youtube/v3/guides/moving_to_oauth#standalone.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YouTube Data API v3:无需打开浏览器即可从服务器上传视频 的相关文章

  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • Google Cloud CDN“强制缓存所有内容”不缓存所有内容

    我正在为我的 WordPress 网站使用 Google Cloud CDNhttps cdn datanumen com https cdn datanumen com 我已启用 强制缓存所有内容 选项 然而 网页 css文件 javas
  • KeyCloak 服务器的自省端点

    我正在尝试探索 KeyCloak 服务器的功能 并希望通过使用获取有关访问令牌的信息 openid connect token introspect端点 因此 我将向此端点发送下一个请求 curl v data token type hin
  • 云构建服务帐号权限构建

    我将我的环境设置为云构建应用程序 Github 应用程序 以通过云构建配置 terraform 到谷歌云平台 该构建是一个具有云功能的简单云编辑器 它创建这些资源以及正确的服务帐户和成员 但是 只有所有者权限才能成功执行此操作 我希望对云构
  • 什么是“代码替换(OAuth 登录)”威胁?

    来自OAuth 2 0 威胁模型和安全注意事项 draft https datatracker ietf org doc html draft ietf oauth v2 threatmodel 08 section 4 4 1 13 4
  • ML Engine 在线预测 - 意外的张量名称:值

    尝试对我的 ML Engine 模型进行在线预测时 出现以下错误 键 值 不正确 参见图像上的错误 在此输入图像描述 https i stack imgur com ZoIb3 png 我已经使用 RAW 图像数据进行了测试 image b
  • 如何将 Google Cloud Storage 中的许多文件设为私有?

    我进行了很多研究 但无法为此提出解决方案 以下是我用来在 GCP 中公开所有文件的代码 def make blob public bucket name blob name Makes a blob publicly accessible
  • 使用java将文件从GCS存储桶传输到SFTP服务器

    我能够从 GCS 存储桶读取文件 但所有库都喜欢jsch将文件传输到 SFTP 服务器时会查找文件路径 而不是内存中的文件 我不想将从GCS读取的文件写入磁盘 如何将内存中的文件传输到SFTP 我假设您想上传内存中的数据 JSch 实际上有
  • 返回无效或过期令牌的错误

    我正在尝试使用 Owin 实施 OAuth 承载身份验证 当传递无效或过期的令牌时 默认实现是将其记录为警告并且只是不设置身份 然而 在这种情况下 我想拒绝整个请求并出现错误 但我该怎么做呢 深入研究代码后我发现OAuthBearerAut
  • 将 PyPI 包添加到 Composer 环境时出现错误

    我刚刚创建了一个新的 Cloud Composer 环境 在尝试向该环境添加一些 PyPI 包时遇到错误 例如google cloud pubsub This is the data about the environment 我尝试添加时
  • 使用 Docker-Compose 运行 Google Firestore 模拟器

    我正在尝试运行我的 Node 项目以及 Firestore 模拟器docker compose在本地开发环境中 我的 Node 项目有一个 Dockerfile 如下所示 WORKDIR app ADD package json RUN n
  • 新站点预计支持哪些知名 OpenID 提供商?

    我计划开发一个支持 OpenID Connect 作为依赖方的 Web 应用程序 以便该应用程序的用户可以使用他选择的身份提供商进行注册和登录 这与每个 Stack Exchange 站点上的 我的登录 使用的技术相同 该应用程序可供服务器
  • Google Cloud Vision 不会自动分割图像进行训练/测试

    这很奇怪 由于某种原因 GCP Vision 不允许我训练我的模型 我已经满足每个标签至少 10 张图像的要求 没有未标记的图像 并尝试上传一个 CSV 指向其中 3 个标签图像作为验证图像 但是我收到此错误 您的某些标签 例如 Label
  • Google Cloud Functions 中的 Python

    Google Cloud Functions 可以使用 sklearn pandas 等包处理 python 吗 如果是这样 有人可以向我指出如何做到这一点的资源方向 我已经搜索了一段时间 似乎这是不可能的 我找到的只是将基本 python
  • 如何解决找不到 com.google.cloud.Service 的类文件

    我正在尝试将 JSON 数据上传到 gcs 由于我之前没有使用谷歌云 所以我开始将随机字符串上传到 gcs 但在创建存储服务对象时我陷入了困境 Maven 依赖
  • Google Cloud Kubernetes 访问私有 Docker Hub 托管映像

    是否可以将私有镜像从 Docker Hub 拉取到 Google Cloud Kubernetes 集群 是否建议这样做 或者我是否需要将我的私有映像也推送到 Google Cloud 我阅读了文档 但没有发现任何内容可以清楚地解释这一点
  • Azure 应用程序错误地请求管理员同意?

    我希望有人对我在Microsoft的Azure Portal中使用新注册的应用程序遇到的问题有所了解 portal azure com https portal azure com 当我收到以下对话框时 我的登录问题 右下角出现错误代码和消
  • Ingress 未在 GKE 和 GCE 上获取地址

    创建入口时 不会生成地址 并且从 GKE 仪表板查看时 它始终位于Creating ingress地位 描述入口没有显示任何事件 我在 GKE 仪表板上看不到任何线索 有没有人有类似的问题或关于如何调试的任何建议 我的部署 yaml api
  • AttributeError:模块“boto”没有属性“plugin”

    我正在 Google Cloud Platform 上使用带有 word2vec 模型的 Jupyter 笔记本运行虚拟机 我有以下代码片段 from gensim models import Word2Vec amazon word2ve
  • PKCE 增强授权代码流中保护 code_verifier 的最佳实践

    由于 PKCE 现在是推荐的隐式流程授权方法 因此我正在寻找处理代码验证器的最佳实践以及如何完成此操作的建议 在高层 PKCE 授权流程中包括 产生code verifier在客户端 产生code challenge来自 1 hit aut

随机推荐

  • 构造函数中参数较少的构造函数

    我有构造函数树 int a int b int c 和第二个构造函数树 int a int b int c String s 如何从第一个构造函数加载第二个构造函数以节省编写所有逻辑 我想过这样的事情 但它给了我 空 对象 public T
  • Python Tkinter 刷新画布

    你好 我在 python 中有一个元组 其颜色与通过以下字典在画布中绘制的正方形相关 colour mapping 0 red 1 green 2 blue 3 purple 更具体地说 例如元组中的节点是 2 3 3 3 这意味着 4 个
  • 扩展方法在 C# 中有任何限制

    我想问一下 向数据类型添加扩展方法是否与微软的方法一样 或者有什么限制吗 这与经验丰富的程序员有关 他们在使用它们时发现了一些限制 您正在考虑什么样的限制 我不是特别喜欢它们被发现的方式 特别是 如果扩展类型稍后获得具有相同签名的方法 则将
  • 使用 UIWebView 上传照片

    假设我在远程服务器上有一个网页 例如 filebrowse html 有一个浏览文件按钮 我想通过UIWebView并从我的画廊上传照片 画廊位于 iPhone 上 这可能吗 在 iOS 上 无法 浏览文件系统 因此您无法使用 UIWebV
  • 将 UIButton 字体大小调整为宽度

    我有以下代码 UIButton button UIButton buttonWithType UIButtonTypeCustom button frame CGRectMake 0 0 0 0 25 25 button layer set
  • 有没有办法阻止 Prettier 接触 HTML 文件中的
     块?                
                

    Prettier 通常在 HTML 上做得非常好 但缩进了 pre gt 代码块 我总是希望 pre gt 代码块不缩进 似乎我应该能够在 prettierignore 中配置它 但找不到有效的方法 块如 pre class line nu
  • Telerik().ScriptRegistrar() 如何防止加载 jquery 库?

    即使在之后 脚本注册器也会加载 jquery validation min js Html Telerik ScriptRegistrar jQuery false 有什么办法告诉它不要这样做吗 即使当我尝试加载我需要的内容时 也会这样做
  • 无法删除 docker 镜像,守护进程的错误响应

    我对 ubuntu 还很陌生 所以可能缺少一些简单的东西 我正在尝试删除我的 docker 镜像 sudo docker rmi
  • 当我更改为 RTL 时,material-ui 图标不会翻转

    我用过瑞安 科格斯韦尔的回答 https stackoverflow com questions 62799638 material ui textfield not affected with the rtl direction让我的项目
  • 开源 FSK 解码器库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Phabricator 第一次“弧线土地”失败

    我已经安装并配置了 Phabricator 因此它在网络上没有显示任何警告 然后我尝试创建一个存储库并进行第一次 git 提交 我已接受修订 但是当我尝试执行 arc land 时 它失败并显示以下消息 gt arc land Landin
  • 修改$PATH变量

    尝试安装node js Did brew install node 似乎已经奏效了 然而 完成后收到此消息 自制安装了 npm 我们建议将以下路径添加到您的PATH环境变量来获取 npm 安装的二进制文件 usr local share n
  • 如何将 Promise 与 Angular.js 和 $resource 与查询字符串一起使用?

    使用需要传递给它的查询字符串 参数的资源来处理 Angular js 中的承诺的最佳方法是什么 我已经看到 q 的工作在工厂 控制器和路由器中处理 但我不确定在涉及参数时如何处理它 所以如果这是工厂 angular module Anima
  • Firebase 身份验证失败并出现 FirebaseException:JsonResponse 实例化失败

    Problem 我刚刚为我的其中一个创建了更新Xamarin Forms应用程序 现在我遇到的问题是Firebase登录工作流程突然中断after上传新的 aab到 Google Play 到目前为止一直运行良好 当我尝试登录时 选择 Go
  • 将重复行的其他列替换为第一个唯一值并创建查找

    这是数据 Account Number Dummy Account 1050080713252 ACC0000000000001 1050223213427 ACC0000000000002 1050080713252 ACC0000000
  • jQuery 可通过溢出进行排序:隐藏;两个列表之间

    我有两个列表 使用 jQuery 可排序我可以在它们之间移动项目 productsList orderList sortable connectWith containerDiv disableSelection 但是 当我想使用自定义滚动
  • ParseInt 未转换为所需的类型

    这是我的代码 包主 import fmt reflect strconv func main i strconv ParseInt 10 10 8 fmt Println reflect TypeOf i 我预计i长度为 8 位 第三个参数
  • 如何在 Android 中打开 MS Office 文件 [重复]

    这个问题在这里已经有答案了 可能的重复 Android Microsoft Office 库 doc docx xls ppt 等 https stackoverflow com questions 4854947 android micr
  • Excel VBA - 删除最多*单词*的字符串内容

    我正在尝试删除字符串内容 直至字符串中包含的某个单词 例如 Emily has wild flowers They are red and blue 我想使用 VBA 来替换它 They are red and blue 即删除 他们 一词
  • YouTube Data API v3:无需打开浏览器即可从服务器上传视频

    我每天尝试从我的服务器上传视频到我的帐户 但浏览器无法访问 我可以在桌面上执行此操作 通过运行下面提到的脚本打开浏览器 请求我的权限并完成上传视频所需的完整授权 然后上传视频 python upload video py file clip