Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Gdata签名请求错误:“0”;未知授权标头“;_Php_Google Calendar Api_Gdata Api - Fatal编程技术网

Php Gdata签名请求错误:“0”;未知授权标头“;

Php Gdata签名请求错误:“0”;未知授权标头“;,php,google-calendar-api,gdata-api,Php,Google Calendar Api,Gdata Api,我在使用签名请求更新和删除事件时遇到问题。插入事件可以很好地工作。但在更新和删除时,我收到一个“未知授权头”401错误 对于所有三个操作,我首先生成如下客户机: $client = new Zend_Gdata_HttpClient(); $client->setAuthSubPrivateKeyFile('certificates/gcalkey.pem', null, true); $client->setAuthSubToken($session_token); $gdat

我在使用签名请求更新和删除事件时遇到问题。插入事件可以很好地工作。但在更新和删除时,我收到一个“未知授权头”401错误

对于所有三个操作,我首先生成如下客户机:

$client = new Zend_Gdata_HttpClient();  
$client->setAuthSubPrivateKeyFile('certificates/gcalkey.pem', null, true);
$client->setAuthSubToken($session_token);
$gdataCal = new Zend_Gdata_Calendar($client);
要更新事件,我使用以下命令:

$eventOld = $gdataCal->getCalendarEventEntry($eventUri);

$eventOld->title = $gdataCal->newTitle('NEW NAME');
try {
    $eventOld->save();
} catch (Zend_Gdata_App_Exception $e) { print_r($e); exit; }
它给出了“未知授权头”错误。但同样的代码,使用未签名的请求,也可以工作


问题出在哪里?我尝试将$eventUri同时修改为https和http,但似乎没有任何效果。

我也收到了这个401错误消息,以相同的方式创建了客户端和服务。它可以检索日历列表,但检索事件提要时失败


这对你以前有用吗?它可能没有得到官方支持。

这很不幸。但是,我知道有一个web应用程序,当您授权您的google日历与之同步时,不会向您发出警告“此网站已向google注册以发出授权请求,但尚未配置为安全发送请求。我们建议您仅在信任以下目的地时继续此过程:”。这意味着它使用了一个密钥/证书,然后收到了一个安全令牌。怎么可能呢?我同意,这就是为什么我试图让一个安全的版本工作。很明显,它是,或者它仍然有效,我们都错过了一些东西。有人在那篇博文上写了一个401错误,但那个修正对我不起作用。