###前提・実現したいこと
picasa web apiを使用して画像をアップロード、更新したい
###発生している問題・エラーメッセージ
すでに4年前程から稼働しているサービスで先月まではなんの問題もなくアップロード、更新はできていました。
しかし、先月突然トークンの期限が切れていると言う内容のエラーが発生してgoogleの認証を蹴られてしまいます。
HTTP/1.1 403 Forbidden Expires: Tue, 06 Dec 2016 08:04:52 GMT Date: Tue, 06 Dec 2016 08:04:52 GMT Cache-control: private, max-age=0, must-revalidate Content-type: text/html; charset=UTF-8 X-content-type-options: nosniff X-frame-options: SAMEORIGIN X-xss-protection: 1; mode=block Server: GSE Set-cookie: _rtok=CW0qc3_IWcd2; Path=/; Secure; HttpOnly Set-cookie: S=photos_html=WIW5UVKwAi8tJug0Xh279F8P9Q7ShFZ7; Domain=.google.com; Path=/; Secure; HttpOnly Alt-svc: quic=":443"; ma=2592000; v="36,35,34" Accept-ranges: none Vary: Accept-Encoding Connection: close Access forbidden.
###該当のソースコード
// Zendの読み込み parent::append('Zend/Loader.php'); Zend_Loader::loadClass('Zend_Gdata'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); Zend_Loader::loadClass('Zend_Gdata_Photos'); Zend_Loader::loadClass('Zend_Http_Client'); Zend_Loader::loadClass('Zend_Gdata_Photos_PhotoQuery'); parent::append('googleApiPhpClient/src/Google/autoload.php'); $googleClient = new Google_Client(); $googleClient->setClientId('クライアントID'); $googleClient->setClientSecret('クライアントシークレット'); //$googleClient->setApprovalPrompt('force'); 試したが変わらず //$googleClient->setAccessType('offline'); 試したが変わらず $auth = $googleClient->getAuth(); $token = '{"access_token": "トークン","token_type": "Bearer","expires_in": 3600,"refresh_token": "リフレッシュトークン"}'; $auth->setAccessToken($token); if ($auth->isAccessTokenExpired()) { $refreshToken = $auth->getRefreshToken(); $auth->refreshToken($refreshToken); $token = $auth->getAccessToken(); } $client = new Zend_Gdata_HttpClient(); $client->setClientLoginToken($token); $gphoto = new Zend_Gdata_Photos($client);
###試したこと
こちら(http://qiita.com/tamanobi/items/be3eede75c9ede41fce4)を参考に新規にトークンを取得し直しましたが上記のエラーが出ます。
###補足情報(言語/FW/ツール等のバージョンなど)
同様の使い方で画像を読み込むことは可能な状態です。
$gphoto = new Zend_Gdata_Photos($client);
↓
$gphoto = new Zend_Gdata_Photos();
としています。
こちらの認識としては有効期限の切れていないトークンを使用しているのに期限が切れているとエラーが返されるのが問題と認識しております。
同じ様な症状の方いらっしゃいませんでしょうか?
先月までは問題なく使えていたためgoogleの問題なのかこちらの問題なのか判断しかねています。
使用アプリケーション
PHP Version 5.2.13
Zend
cakePHPをベースにした独自フレームワークを使用しています。
初めての投稿なので不備など御座いましたらお申し付け下さい。
宜しくお願い致します。
よろしくお願い致します。
あなたの回答
tips
プレビュー