単純なカレンダー フェッチを実行すると、次のエラーが発生します。
Expected response code 200, got 403
Version 3.0 is not supported.
コードは次のようになります。
Oauth
$options = array(
'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER,
'version' => '1.0',
'signatureMethod' => 'HMAC-SHA1',
'consumerKey' => $config['consumer_key'],
'consumerSecret' => $config['consumer_secret']
);
/**
* Create HTTP Client object which adds OAuth Authorization
* headers to outbound requests.
*/
$this->_consumer = new Zend_Oauth_Consumer($options);
$this->_token = new Zend_Oauth_Token_Access();
$this->_http_client = $this->_token->getHttpClient($options);
カレンダー クエリ
$calendarClient = new Zend_Gdata_Calendar(Oauth::I()->getHttpClient());
print $calendarClient->getMajorProtocolVersion();
$query = $calendarClient->newEventQuery();
$query->setUser('default');
$query->setVisibility('private');
$query->setProjection('full');
Oauth::I()->setRequestorId($query);
try {
$list = $calendarClient->getCalendarEventEntry($query);
var_dump($list);
} catch(Exception $e) {
var_dump($e->getMessage());
}
var_dump($calendarEventsFeed);
Zend_Http_Client_Adapter_Socket リソース ヘッダーの下に $calenderClient をダンプする場合:
["gdata-version"]=>
array(2) {
[0]=>
string(13) "GData-Version"
[1]=>
string(3) "3.0"
}
ただし、getMajorProtocolVersion() は 1 を返します。