首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用/配置YT?

如何正确使用/配置YT?
EN

Stack Overflow用户
提问于 2016-11-29 11:22:58
回答 1查看 665关注 0票数 0

我试图复制本教程:YouTube API,版本3 on Rails,以便将其应用于我自己的项目。但这几天来我一直很难受。

一开始,我犯了一个错误:

对YouTube API的请求导致了一个意外的服务器错误:若要显示更详细的错误,请更改Yt的配置: Yt.configure do _config_ config.log_level = :debug end

我更新了RVM和Ruby,现在我得到了这个错误:

在VideosController#create中,对YouTube API的请求被认为是被服务器禁止的:要显示更详细的错误,请更改Yt的配置,包括: Yt.configure do config维京config.log_level =:YouTube end

我已经:

  • 更新ruby和rvm
  • 尝试了不同版本的yt宝石
  • 尝试过: OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
  • 尝试过: config.force_ssl = false

curl -X GET -H“内容长度: 0”-H“用户代理:Yt::-H (gzip)”-H“主机: www.googleapis.com”"Y&part=snippet

退还:

使用Rails 4.2.4,Ruby2.3.0;源代码:应用程序

任何帮助和建议都将受到强烈和真诚的感谢。

EN

回答 1

Stack Overflow用户

发布于 2016-11-29 11:36:01

已禁用 (403)禁止访问。请求可能没有得到适当的授权。

回答:您正在提出的请求是未经授权的。更新:将key=更改为access_token=

可能的原因:

代码语言:javascript
复制
https://www.youtube.com/annotations_invideo?key=

您正在尝试运行一个请求annotations_invideo (我实际上在文档中找不到它),并且您正在向它应用一个API键。API密钥仅适用于公共数据。annotations_invideo不是对API的有效请求,也不是您需要进行身份验证的东西。如果需要进行身份验证,则需要一个访问令牌,然后应用access_token=而不是key=

你到底在哪里找到annotations_invideo的?

更新:

幸运的是,自从你贴出你的问题以来,我已经不到一个小时了。

代码语言:javascript
复制
https://www.youtube.com/annotations_invideo?access_token=AIzaSyBSvIOM0EGX1tcrf5IAlYJuH_ttqVgTO4Q&video_id=BPNYv0vd78A

并将其转储到web浏览器中,返回数据。

代码语言:javascript
复制
<document>
<annotations>
<annotation author="" id="annotation_1585555999" log_data="ei=B2k9WIOCB8X0dNKokKAG&a-id=annotation_1585555999&xble=1&a-type=4&a-v=BPNYv0vd78A" style="title" type="text">
<TEXT>Hello, world!</TEXT>
<segment>
<movingRegion type="rect">
<rectRegion d="0" h="25.2779998779" t="0:00.000" w="75.0" x="13.1540002823" y="67.3239974976"/>
<rectRegion d="0" h="25.2779998779" t="0:02.089" w="75.0" x="13.1540002823" y="67.3239974976"/>
</movingRegion>
</segment>
<appearance bgAlpha="0.25" bgColor="0" borderAlpha="0.10000000149" effects="" fgColor="16777215" fontWeight="bold" highlightFontColor="16777215" textSize="21.6642"/>
</annotation>
<annotation id="channel:563d3ce4-0000-20cc-8fd5-001a11463304" style="playlist" type="promotion" log_data="ei=B2k9WIOCB8X0dNKokKAG&a-type=12&a-ch=UCwCnUcLcb9-eSrHa_RQGkQQ&xble=1&a-id=563d3ce4-0000-20cc-8fd5-001a11463304&l-class=2&link-id=PLuW4g7xujBWfU26JUTW1DGs3hk4LD5KaL&a-v=BPNYv0vd78A">
<data>
{"playlist_length":"200","session_data":{"itct":"CAIQwTcY____________ASITCMOh497wzdACFUU6HQodUhQEZCj4HTICaXZIwN_33vSX1vkE","annotation_id":"563d3ce4-0000-20cc-8fd5-001a11463304","feature":"iv","ei":"B2k9WIOCB8X0dNKokKAG","src_vid":"BPNYv0vd78A"},"is_mobile":false,"text_line_2":"Adorable Kids","text_line_1":"Check this playlist","image_url":"https:\/\/i.ytimg.com\/vi\/yDrLVqRHAsw\/mqdefault.jpg","start_ms":1000,"collapse_delay_ms":86400000,"end_ms":3000}
</data>
<segment/>
<action trigger="click" type="openUrl">
<url type="hyperlink" target="new" value="https://www.youtube.com/watch?v=yDrLVqRHAsw&list=PLuW4g7xujBWfU26JUTW1DGs3hk4LD5KaL"/>
</action>
</annotation>
</annotations>
</document>

注意:我想知道为什么这是返回XML而不是Json --它让我认为这是一个更老的api。找到它时,您使用的是YouTube API v2,即已弃用,应该关闭它。

https://youtube-eng.googleblog.com/2014/09/have-you-migrated-to-data-api-v3-yet.html

你应该放下这个,移到YouTube API v3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40864666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档