PHP Kullanımı Youtube oturum nasıl?

2 Cevap php

Ben bu API çağrısı ile kullanıcılar, yeni abonelik videoları almak için youtube API kullanmak istiyorsanız:

http://gdata.youtube.com/feeds/api/users/default/newsubscriptionvideos

Giriş yapmadan ben bu cevabı alıyorum:

User authentication required.
Error 401

Nasıl php den youtube giriş yapabilirim?

2 Cevap

Sen OAuth, AuthSub kullanmak veya ClientLogin. Olabilir ClientLogin (sadece bir kullanıcı adı / parola) kullanır basit olduğunu, ama bu sizin için kendi kimlik üzerinden açmak için kullanıcılar gerektirir çünkü cesareti. AuthSub ve OAuth yok. Google'ın PHP library şu anda sadece (PHP example) ve ClientLogin AuthSub destek gibi görünüyor.

İşte giriş yapmak için basit bir fonksiyonudur. Bu başarı üzerine iade hata iletisi veya 0 bulunuyor. Ben kendi kıvırmak lib kullanılan ancak it't oldukça net $ this-> curl-> SetHeader curl_setopt ($ ch, CURLOPT_HTTPHEADER, $ header) ile değiştirilebilir olduğunu

public function login(Model_ServiceAccount $account){
        $this->curl->SetHeader('Content-type', 'application/x-www-form-urlencoded');
        $this->curl->post('https://www.google.com/youtube/accounts/ClientLogin',
                          'Email=' . $account->mail->login . '&Passwd=' . $account->mail->password . '&service=youtube&source=whatever');
        if (preg_match('~Error=(.+)~', $this->curl->getResponse(), $match))
            return $match[1];
        if (!preg_match('~Auth=(.*)~', $this->curl->getResponse(), $match)) Toolkit::error('Unhandled error in Authentication request');
        $authToken = $match[1];
        $this->curl->SetHeader('Authorization: GoogleLogin auth', $this->developerKey);
        $this->curl->SetHeader('X-GData-Key: key=', $authToken);
        $this->curl->SetHeader('Content-Type', 'application/atom+xml');
        return 0;
    }