Zend / Gdata — getDocumentListFeed

Привет ребята,

Я использую Google API Zend и мне нужно перечислить все документы определенных учетных записей. Проблема в том, что при вызове метода getDocumentListFeed если постоянная учетная запись службы Google отключена, она выдает мне исключение (код 401). И я не хочу этого. Я хотел бы попробовать раньше, если служба работает, но я не могу найти способ дать мне информацию?

Docs.php

const AUTH_SERVICE_NAME = ‘writely’;

Мой класс

protected function GetAllDocumetsOneCollab
(   $UidToWork
, $PasswordGet
) {
try {
$service             = Zend_Gdata_Docs::AUTH_SERVICE_NAME ;
$client              =
Zend_Gdata_ClientLogin::getHttpClient
(   $UidToWork.
"@".$this -> DomainToUsed
, $PasswordGet
, $service
) ;
} catch (Zend_Gdata_App_AuthException $e) {
throw new Exception
(   "[".__LINE__."] ".__FILE__.
$this -> CrLn.
$this -> Space.$this -> Space.$this -> Space.$this -> Space.$this -> Space.
$UidToWork." // ".$PasswordGet.
$this -> CrLn.
$this -> Space.$this -> Space.$this -> Space.$this -> Space.$this -> Space.
$this -> DepileErrorCatch ($e)
) ;
return null ;
}

try {
$docs                = new Zend_Gdata_Docs ($client);
} catch (Zend_Gdata_App_AuthException $e) {
throw new Exception
(   "[".__LINE__."] ".__FILE__.
$this -> CrLn.
$this -> Space.$this -> Space.$this -> Space.$this -> Space.$this -> Space.
$this -> DepileErrorCatch ($e)
) ;
return null ;
}
$AllDocument           = array () ;
try {
$feed                = $docs -> getDocumentListFeed () ;
foreach ($feed -> entries as $entry) {
$link              = $entry -> getLink () ;
$Title             = $entry -> getTitle () ;
$AllDocument    [count ($AllDocument)] =
array (   'title' => utf8_decode ("".$Title)
) ;
}
} catch (Zend_Gdata_App_HttpException $e) {
throw new Exception
(   "[".__LINE__."] ".__FILE__.
$this -> CrLn.
$this -> Space.$this -> Space.$this -> Space.$this -> Space.$this -> Space.
$this -> DepileErrorCatch ($e)
) ;
return null ;
}
return $AllDocument ;
}

Я хотел бы проверить прямо перед этим, если служба включена так:

    $IsEnable            = $docs -> ServiceEnable () ;
if ($IsEnable)
$feed              = $docs -> getDocumentListFeed () ;
else
$feed              = array () ;

Сообщение об исключении:

Ожидаемый код ответа 200, получил 401
Служба отключена администратором Служб Google.
Ошибка 401

Я не знаю, может ли один метод или свойство API дать мне информацию?

Спасибо всем и извините за мой плохой английский 🙂

0

Решение

На данный момент я сделал это так, даже если мне не нравится это решение

  $service               = Zend_Gdata_Docs::AUTH_SERVICE_NAME ;
$AllDocument           = array () ;
try {
$feed                = $docs -> getDocumentListFeed () ;
foreach ($feed -> entries as $entry) {
$link              = $entry -> getLink () ;
$Title             = $entry -> getTitle () ;
$AllDocument    [count ($AllDocument)] =
array (   'title' => utf8_decode ("".$Title)
) ;
}
} catch (Zend_Gdata_App_HttpException $e) {
$Response            =  $e -> getResponse() ;
$MsgError            = $Response -> getMessage() ;
$MsgErrorAccept      = "Service <".$service."> disabled by" ;
if (!strstr($MsgError, $MsgErrorAccept)) {
throw new Exception
(   "[".__LINE__."] ".__FILE__.
$this -> CrLn.
$this -> Space.$this -> Space.$this -> Space.$this -> Space.$this -> Space.
$this -> DepileErrorCatch ($e)
) ;
return null ;
}
}
return $AllDocument ;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]