【问题标题】:Gdata signed request error: "Unknown authorization header"Gdata 签名请求错误:“未知授权标头”
【发布时间】:2011-07-15 18:46:01
【问题描述】:

我在使用签名请求更新和删除事件时遇到问题。插入事件工作得很好。但是在更新和删除时,我收到“未知授权标头”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,但似乎没有任何效果。

【问题讨论】:

    标签: php google-calendar-api gdata-api


    【解决方案1】:

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

    这对你有用吗?官方可能不支持yet

    【讨论】:

    • 这很不幸。但是我知道一个网络应用程序,当您授权您的谷歌日历与其同步时,不会向您发出警告“此网站已向 Google 注册以发出授权请求,但尚未配置为安全地发送请求。我们建议仅当您信任以下目的地时,您才能继续该过程:" 。这意味着它使用了密钥/证书,然后收到了安全令牌。那怎么可能?该警告对用户来说确实是一种关闭。
    • 我同意,这就是我试图让安全版本正常工作的原因。显然它是working,或者它仍然有效,我们都缺少一些东西。有人在该博客文章中遇到 401 错误,但该修复对我不起作用。
    猜你喜欢
    • 2011-04-07
    • 2011-06-23
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多