Curl php youtube

3 Cevap php

Merhaba ben bir Zend fonksiyonu olmadan php youtube API oluşturmaya çalışıyorum

bu ben şimdiye kadar ne var:

function upload() {
    $files	= $_FILES;
    $name	= $files['file']['name'];
    $type	= $files['file']['type'];
    $size	= $files['file']['size'];
    $tmp_nm	= $files['file']['tmp_name'];

    $data = array('name' => 'Foo', 'file' => '@'.$tmp_nm);

    print_r($_POST);
    print_r($_FILES);

    echo 'Size '.$size;

    $headers = array( 
    	"Authorization: AuthSub token=".$this->auth,
    	"GData-Version: 2",
    	"X-GData-Key: key=".$this->dev_key,
    	"Content-length: ".$size, 
    	"API_XML_request"
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://gdata.youtube.com/action/GetUploadToken');
    curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_REFERER,true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
    curl_setopt($ch, CURLOPT_HEADER,0);

    if($this->get_info)
    {
    	$this->curlget_info($ch);
        }
    $output = curl_exec($ch);

    print_r($output);

    return $output;
}

Hata alıyorum:

Output 1

Array ( [token] => TOKEN ) Array ( [file] => Array ( [name] => 0016.png [type] => image/png [tmp_name] => D:\wamp\tmp\php178D.tmp [error] => 0 [size] => 4216 ) ) Size 4216
Google       
Error

Length Required

POST requests require a Content-length header.

Output 2

Array ( [token] => TOKEN ) Array ( [file] => Array ( [name] => Film.wmv [type] => video/x-ms-wmv [tmp_name] => D:\wamp\tmp\php11D3.tmp [error] => 0 [size] => 96589 ) ) Size 96589
Google       
Error

Length Required

POST requests require a Content-length header.

Ben kullanarak this guide. Am

5 gün boyunca bu çözmeye çalışıyorum ve çift irc kanalları ve forumlar sordu. Bir arkadaşım) ben :) birisi bana yardımcı olacağını umuyoruz, sormak beni buraya bağlı

3 Cevap

Ben doğrudan size yardımcı olamaz bu yüzden geliştirici anahtarı yok, ama sen başlığında değil, mesaj gövdesi yolluyorlar ne öğrenmek zorunda açıkça Google http başlığı ile bir sorunu var. Bunu yapmanın en iyi yolu, o senin makine yaprakları gibi tel üzerinde paket kontrol etmektir.

Yani yüklemek Wireshark, sizin testi yapmak, paketlerini yakalayan başlatın, WAMP sunucu üzerinde başlatmak ve daha sonra pakette http bağlantı bakmak. Beklediğinizden emin olun.

Ya da belki kıvırmak yerine dosyaya hata ayıklama amacıyla sunucuya paket yazmak için bir yol var. Bilmiyorum.

Ayrıca bir ihtimal (ve onları spec dışında olmak güvenmek istiyorum), ama ben sen ve sen bağlantılı diğer kişi "Content-length" sahip olduğunu fark ettim. Örneği maç için "Content-Length" deneyin.

Bu cevap, ancak örnek sayfasında, onlar AuthSub belirteci tırnak koymak eğer emin değil:

Yetkilendirme: AuthSub belirteci = "DXAA ... sdb8"

Belki de bu deneyin?

Gördün mü this?