2013-08-23 36 views
1

在這裏我們看到:https://developers.google.com/youtube/2.0/developers_guide_protocol_comments#Adding_a_comment如何使用XML API進行POST?

我需要用XML API做請求。

POST /feeds/api/videos/VIDEO_ID/comments HTTP/1.1 
Host: gdata.youtube.com 
Content-Type: application/atom+xml 
Content-Length: CONTENT_LENGTH 
Authorization: Bearer ACCESS_TOKEN 
GData-Version: 2 
X-GData-Key: key=DEVELOPER_KEY 

<?xml version="1.0" encoding="UTF-8"?> 
<entry xmlns="http://www.w3.org/2005/Atom" 
    xmlns:yt="http://gdata.youtube.com/schemas/2007"> 
    <content>This is a crazy video.</content> 
</entry> 

我該用什麼?

回答

1

您可以使用cURL來做到這一點。

<?php 
$data = <<<XML 
<?xml version="1.0" encoding="UTF-8"?> 
<entry xmlns="http://www.w3.org/2005/Atom" 
    xmlns:yt="http://gdata.youtube.com/schemas/2007"> 
    <content>This is a crazy video.</content> 
</entry> 
XML; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments'); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_HTTPHEADER, 
    array('Content-Type: application/atom+xml', 
    'Authorization: Bearer ACCESS_TOKEN', 
    'GData-Version: 2', 
    'X-GData-Key: key=DEVELOPER_KEY')); 
$re = curl_exec($ch); 
curl_close($ch); 
?> 
1

你可能會發現,最容易使用的客戶端庫,而不是手工做的POST,因爲它會處理頭生成,驗證,併爲你的令牌沒有很多的麻煩。客戶端庫的名單是在這裏:

https://developers.google.com/youtube/code

例如,做評論發表與Python客戶端,它會是這個樣子(假設你通過認證步驟後,可以將其客戶非常簡單):

my_comment = 'what a boring test video' 
video_id = '9g6buYJTt_g' 
video_entry = yt_service.GetYouTubeVideoEntry(video_id=video_id) 
yt_service.AddComment(comment_text=my_comment, video_entry=video_entry) 

其他語言的客戶端遵循相同的結構。

+0

不錯!以爲我是坤必須經過xml地獄! – sirvon