Youtube api Zend Gdata Youtube和自动登录

Youtube api Zend Gdata Youtube和自动登录,youtube-api,zend-gdata,Youtube Api,Zend Gdata,大家好,我需要帮助自动登录youtube.com上传“基于浏览器”的视频(然后通过api将数据显示在网站上)。所以基本上我从这里下载了扩展Zend Gdata。让它工作起来 它工作正常(demos/../YouTubeVideoApp)。但我如何在没有确认页面(“授予访问权”\“拒绝访问权”)的情况下自动登录youtube?目前,我使用开发者密钥来处理youtube api 确认的信息是 An anonymous application is requesting access to your

大家好,我需要帮助自动登录youtube.com上传“基于浏览器”的视频(然后通过api将数据显示在网站上)。所以基本上我从这里下载了扩展Zend Gdata。让它工作起来

它工作正常(demos/../YouTubeVideoApp)。但我如何在没有确认页面(“授予访问权”\“拒绝访问权”)的情况下自动登录youtube?目前,我使用开发者密钥来处理youtube api

确认的信息是

 An anonymous application is requesting access to your Google Account for the product(s) listed below.
    YouTube
If you grant access, you can revoke access at any time under 'My Account'. The anonymous application will not have access to your password or any other personal information from your Google Account. Learn more
This website has not registered with Google to establish a secure connection for authorization requests. We recommend that you continue the process only if you trust the following destination:
     http://somedomain/operations.php

一般来说,我需要创建到youtube的连接(通过api)并在那里上传(使用我自己的帐户)视频,而不需要任何弹出窗口和确认页面。

我认为您所需要的只是获取一个访问令牌并将其设置为会话值“$\u session['sessionToken']”。javascript和PHP的组合将需要这样做。以前,在使用Picasa web API时,我总是必须授予或拒绝访问权限,但在我下面描述的更改之后,不再需要授予或访问页面

我没有将youtube与zend Gdata集成,但使用它集成了Picasa网络相册

使用javascript弹出窗口登录并获取所需范围的令牌。下面是一个javascript代码将您的作用域更改为youtube数据,因为在此作用域中使用了picasa。单击按钮上的“picasa”功能。

在这里,我在函数“getPicasaAlbums”中进行ajax调用,并将令牌设置为$\u会话,之后,我可以使用zend查询获得相册列表。下面是我在函数“getPicasaAlbums”中使用ajax调用的php文件的一些代码

函数getAlbums($imported_from='',$token=''){ //echo$imported_from;//picasa //echo$代币; $\会话['sessionToken']=$token;//设置sessionToken $client=getauthsubttpclient(); $user=“默认”; $photos=新的Zend_Gdata_照片($client); $query=new Zend_Gdata_Photos_UserQuery(); $query->setUser($user); $userFeed=$photos->getUserFeed(null,$query); echo“”;print_r($userFeed);echo“”;退出; } 我想这会对你的工作有所帮助。使用youtube zend数据代码在“getAlbums”函数的代码上方重新设置空间以检索数据

这里是登录弹出窗口的一个很好的示例和参考


我认为您只需获取一个访问令牌并将其设置为会话值“$\u session['sessionToken']”。javascript和PHP的组合将需要这样做。以前,在使用Picasa web API时,我总是必须授予或拒绝访问权限,但在我下面描述的更改之后,不再需要授予或访问页面

我没有将youtube与zend Gdata集成,但使用它集成了Picasa网络相册

使用javascript弹出窗口登录并获取所需范围的令牌。下面是一个javascript代码将您的作用域更改为youtube数据,因为在此作用域中使用了picasa。单击按钮上的“picasa”功能。

在这里,我在函数“getPicasaAlbums”中进行ajax调用,并将令牌设置为$\u会话,之后,我可以使用zend查询获得相册列表。下面是我在函数“getPicasaAlbums”中使用ajax调用的php文件的一些代码

函数getAlbums($imported_from='',$token=''){ //echo$imported_from;//picasa //echo$代币; $\会话['sessionToken']=$token;//设置sessionToken $client=getauthsubttpclient(); $user=“默认”; $photos=新的Zend_Gdata_照片($client); $query=new Zend_Gdata_Photos_UserQuery(); $query->setUser($user); $userFeed=$photos->getUserFeed(null,$query); echo“”;print_r($userFeed);echo“”;退出; } 我想这会对你的工作有所帮助。使用youtube zend数据代码在“getAlbums”函数的代码上方重新设置空间以检索数据

这里是登录弹出窗口的一个很好的示例和参考

var OAUTHURL    =   'https://accounts.google.com/o/oauth2/auth?';
var VALIDURL    =   'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=';
var SCOPE       =   'https://picasaweb.google.com/data';
var CLIENTID    =   YOUR_CLIENT_ID;
var REDIRECT    =   'http://localhost/YOUR_REDIRECT_URL'
var LOGOUT      =   'http://accounts.google.com/Logout';
var TYPE        =   'token';
var _url        =   OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE;
var acToken;
var tokenType;
var expiresIn;
var user;
var loggedIn    =   false;

function picasa() {
    var win         =   window.open(_url, "windowname1", 'width=800, height=600'); 

    var pollTimer   =   window.setInterval(function() { 
        console.log(win);
        console.log(win.document);
        console.log(win.document.URL);
        if (win.document.URL.indexOf(REDIRECT) != -1) {
            window.clearInterval(pollTimer);
            var url =   win.document.URL;
            acToken =   gup(url, 'access_token');
            tokenType = gup(url, 'token_type');
            expiresIn = gup(url, 'expires_in');
            win.close();

            validateToken(acToken);
        }
    }, 500);
}

function validateToken(token) {
    $.ajax({
        url: VALIDURL + token,
        data: null,
        success: function(responseText){  
            //alert(responseText.toSource());
            getPicasaAlbums(token);
            loggedIn = true;
        },  
        dataType: "jsonp"  
    });
}

function getPicasaAlbums(token) {
    $.ajax({
    url: site_url+"ajaxs/getAlbums/picasa/"+token,
    data: null,
    success: function(response) {
        alert("success");

    }
});
}

//credits: http://www.netlobo.com/url_query_string_javascript.html
function gup(url, name) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\#&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( url );
    if( results == null )
        return "";
    else
        return results[1];
}
function getAlbums($imported_from = '',$token = '') {
    //echo $imported_from; //picasa
    //echo $token; 

    $_SESSION['sessionToken'] = $token;// set sessionToken
            $client = getAuthSubHttpClient();
            $user = "default";

            $photos = new Zend_Gdata_Photos($client);
            $query = new Zend_Gdata_Photos_UserQuery();
            $query->setUser($user);

            $userFeed = $photos->getUserFeed(null, $query);

echo "<pre>";print_r($userFeed);echo "</pre>";exit;
}