2013-07-11 95 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就是一些例子。