gpt4 book ai didi

vb.net - 如何使用 youtube API 对视频添加评论???有人可以告诉我怎么做吗?

转载 作者:行者123 更新时间:2023-12-03 06:01:09 24 4
gpt4 key购买 nike

我正在 VB.NET 中制作一个与 YouTube 交互的桌面应用程序。到目前为止,我已经设法解决了 OAuth2 身份验证的“问题”,并且我有了我的 token (身份验证和刷新)。我需要每小时刷新一次身份验证 token ,但这不是问题。

我尝试使用 http POST 和 YouTube API 以多种方式对视频发表评论。在 HTTP 请求 POST 上,我收到“错误请求”响应,在 YouTube API 上尝试我什么也没得到,没有发表评论,也没有错误。我怎样才能做到这一点? YouTube 数据 API 的文档已损坏,我无法在 Visual Studio 上打开或安装它,因此我使用人们在线发布的小示例通过反复试验进行测试。

这是我用于 HTTP 版本的代码:

'create the xml comment as in API example
Dim ContentLenght As Long
Dim xmlData As New System.Xml.XmlDocument()
Dim commentXML As XDocument =
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:yt="http://gdata.youtube.com/schemas/2007">
<content><%= comment %></content>
</entry>

ContentLenght = commentXML.ToString.Length

'---------------------------------------------------------
'create the POST request to submit the comment

Dim sentXml As Byte() = System.Text.Encoding.ASCII.GetBytes(commentXML.ToString)
Dim url = "http://gdata.youtube.com/feeds/api/videos/" & videoID & "/comments"
Dim req As New WebClient
req.Headers.Add("Host: gdata.youtube.com")
req.Headers.Add("Length:" & ContentLenght)
req.Headers.Add("Content-Type: application/atom+Xml")
req.Headers.Add("Authorization: Bearer " & Token)
req.Headers.Add("GData-Version: 2")
req.Headers.Add("X-GData-Key: key=" & developerKey)
Dim response As Byte() = req.UploadData(url, "POST", sentXml)

我尝试的 API 代码是:
Dim commentingSettings As New YouTubeRequestSettings(appName, developerKey, Token)
Dim lcommentingRequest As New YouTubeRequest(commentingSettings)

Dim video As New Video()
video.VideoId = "JEvV0RHMU-Y"
Dim comm As New Comment
comm.Content = "comm text here"

lcommentingRequest.AddComment(video, comm)

最佳答案

我已经使用 Youtube API 解决了这个问题。问题是“视频”对象的创建方式。这是需要它的人的工作代码:

Dim commentingSettings As New YouTubeRequestSettings(appName, developerKey, Token)
Dim lcommentingRequest As New YouTubeRequest(commentingSettings)

Dim videodUrl As New Uri(String.Format("{0}/{1}",Google.GData.YouTube.YouTubeQuery.DefaultVideoUri, "BtrFZmZjalE"))
Dim video As Google.YouTube.Video = request.Retrieve(Of Google.YouTube.Video)(videoEdUrl)

Dim comm As New Comment
comm.Content = "comm text here"

lcommentingRequest.AddComment(video, comm)

现在代码可以工作了!

新的问题是:我发布后如何获得评论ID?有没有办法从上面的代码中获取它(一些服务器响应或其他东西)? ...但是正如 Chris M. 建议的那样,我将为此创建另一个问题...

关于vb.net - 如何使用 youtube API 对视频添加评论???有人可以告诉我怎么做吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com