2013-07-11 93 views
0

我使用YoutubeAPI v3.0自动将视频上传到我自己的频道。但是在Oath2.0授权过程中脚本仍然需要人工干预。如何使其完全自动化?永久访问YouTube的api

1)使用的用户名和密码

2访问API)或者找到一个方法来创建永久性的OAuth2.0身份验证

P/S:我使用这个脚本上传

https://developers.google.com/youtube/v3/guides/uploading_a_video

+0

你是什么意思的手动干预?如果用户必须输入一些数据,那么您的脚本是否会自动提供必要的信息以在必要时进行身份验证? –

+0

理论上是的。但就实施而言,这是手动步骤,我有克服https://developers.google.com/accounts/images/OauthUX_nocallback问题。png –

+0

然而,执行这个手动步骤并不是OAuth的要点吗?这样,没有帐户持有人的明确许可,任何事情都不能上传。我不认为Youtube _wants_视频会自动上传,原因很多(有些保护您作为用户,有些保护您)。 – jlmcdonald

回答

2

我唯一能想到的就是网页抓取。基本上,以编程方式打开网页并获取其HTML。然后找到授权码,并将其存储为字符串。我不知道你选择的脚本语言是否可以做到,但Python有美丽的汤(链接在底部)。当然,这个问题是访问一个页面的内容,这个页面的设计非常清楚,可以通过网页浏览器登录到用户。我从来没有这样做,但是有一种“登录握手”的概念,您可以在访问该页面时将数据发布到所需的服务器。我在底部有几个链接。

反正给你什么,我的意思是在伪代码(对于那些谁可能会混淆)一个好主意,它会是这样的:

webURL = 'http://any-url.net"; 
webPageObject = openPage(webURL); 
pageHTML = webPageObject.getHTML(); 
theHTMLTag = searchForTagById(pageHTML, "<p id='oAuthMessage'>"); 
//And from there, figure out where the string containing the code is. 
//Probably just by getting a substring from the end of the text in the <p> 
//backward until you reach the length of the oAuth code. 

你必须看该页面的源代码可以知道哪些标签需要专门查找,但这些都可以通过编程方式/自动完成,就像您想的那样。

链接:

登录握手 - Scraping from a website that requires a login?

美丽的汤 - http://www.crummy.com/software/BeautifulSoup/

google.gov/webScraping - https://www.google.com/search?ie=UTF-8&oe=utf-8&q=how+to+web+scrape+logged+in+page

0

可以为了有充分的利用得到谷歌的oauth2的设备自动令牌更新过程。

因此,所有你现在需要的是:

  1. 索取device codeconfirmation code
  2. 输入confirmation code,以确认您的应用程序对特定帐户的访问
  3. 生成新的或更新现有的ACCESS_TOKENdevice code
  4. 使用您的device code上传视频并且有效ACCESS_TOKEN

Here是它的文档。

here就是一些例子。