2013-01-22 121 views
0

我正在使用Youtube API来尝试一些事情,我不能在没有得到错误的情况下做任何事情。预期响应代码是200,得到401: User authentication requiredYoutube API 401错误

我已验证我的YouTube频道,虽然

session_start(); 

$clientLibraryPath = 'Youtube/library'; 
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath); 


require_once 'Zend/Loader.php'; 
Zend_Loader::loadClass('Zend_Gdata_YouTube'); 
$yt = new Zend_Gdata_YouTube(); 
Zend_Loader::loadClass('Zend_Gdata_AuthSub'); 

function getAuthSubRequestUrl() 
{ 
$next = 'LINK'; 
$scope = 'http://gdata.youtube.com'; 
$secure = false; 
$session = true; 
return Zend_Gdata_AuthSub::getAuthSubTokenUri($next, $scope, $secure, $session); 
} 

function getAuthSubHttpClient() 
{ 
if (!isset($_SESSION['sessionToken']) && !isset($_GET['token'])){ 
    echo '<a href="' . getAuthSubRequestUrl() . '">Login!</a>'; 
    return; 
} else if (!isset($_SESSION['sessionToken']) && isset($_GET['token'])) { 
    $_SESSION['sessionToken'] = Zend_Gdata_AuthSub::getAuthSubSessionToken($_GET['token']); 

} 

$httpClient = Zend_Gdata_AuthSub::getHttpClient($_SESSION['sessionToken']); 
return $httpClient; 
} 
getAuthSubHttpClient(); 

$cID = "Client ID"; 
$aID = "App ID"; 
$dK = "DEV KEY"; // Hidden 
$yt = new Zend_Gdata_YouTube($httpClient, $aID, $cID, $dK); 

任何人都知道我做错了什么在这里登录到我的帐户?

+0

用户是否经历了完整的流程(基于浏览器的重定向等)?另外,您是否有使用AuthSub而不是OAuth的理由? –

回答

0

确保你有你的代码托管在完全相同的网址,你在Google Code Console

设置如果javascript origins设置为http://example.com,确保您的代码是不是在http://example.com/somethinghttp://something.example.com被托管!这似乎对我有用:)