Programmer's Reference Guide
| YouTube Data API の使用法 |
Gdata の例外処理
Zend_Gdata_App_Exception は、
Zend_Gdata がスローする例外の基底クラスです。
Zedn_Gdata がスローする例外は、すべて Zend_Gdata_App_Exception でキャッチできます。
try {
$client =
Zend_Gdata_ClientLogin::getHttpClient($username, $password);
} catch(Zend_Gdata_App_Exception $ex) {
// 例外の内容をユーザに報告します
die($ex->getMessage());
}
Zend_Gdata では、以下のような例外サブクラスを使用しています。
-
Zend_Gdata_App_AuthExceptionは、ユーザのアカウントの情報が無効であることを表します。 -
Zend_Gdata_App_BadMethodCallExceptionは、そのサービスがサポートしていないメソッドをコールしたことを表します。 たとえば、CodeSearch サービスはpost()をサポートしていません。 -
Zend_Gdata_App_HttpExceptionは、HTTP リクエストが失敗したことを表します。Zend_Http_Responseオブジェクトの中身を調べることで、 実際の原因がわかります。この場合は$e->getMessage()の情報だけでは不十分です。 -
Zend_Gdata_App_InvalidArgumentExceptionは、その状況では無効な値を指定したことを表します。 たとえば、カレンダーの可視性に "banana" を指定したり、blog の名前を省略して Blogger のフィードを取得したりといった場合です。 -
Zend_Gdata_App_CaptchaRequiredExceptionは、ClientLogin を試みた際に認証サービスからCAPTCHA チャレンジを受け取った場合にスローされます。 この例外の中には、トークン ID およびCAPTCHA チャレンジ画像への URL が含まれています。この画像はパズルのようなもので、 これをユーザに対して表示させる必要があります。 チャレンジ画像に対するユーザからの応答を受け取ったら、 それを用いて再度 ClientLogin を試みることができます。 あるいは、ユーザが直接 https://www.google.com/accounts/DisplayUnlockCaptcha を使用することもできます。詳細な情報は ClientLogin のドキュメント を参照ください。
これらの例外サブクラスを使用すると、より細やかな例外処理をすることができます。
どの Zend_Gdata のメソッドがどんな例外サブクラスをスローするのかについては、
API ドキュメントを参照ください。
try {
$client = Zend_Gdata_ClientLogin::getHttpClient($username,
$password,
$service);
} catch(Zend_Gdata_App_AuthException $authEx) {
// ユーザの認証に失敗しました
// もう一度認証を行うなどの処置が適切でしょう
...
} catch(Zend_Gdata_App_HttpException $httpEx) {
// Google Data のサーバに接続できませんでした
die($httpEx->getMessage);}
| YouTube Data API の使用法 |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- プログラマ向けリファレンスガイド
- プログラマ向けリファレンスガイド
- Zend_Gdata
- 導入
- AuthSub による認証
- Using the Book Search Data API
- ClientLogin による認証
- Google Calendar の使用法
- Google Documents List Data API の使用法
- Using Google Health
- Google Spreadsheets の使用法
- Google Apps Provisioning の使用法
- Google Base の使用法
- Picasa Web Albums の使用法
- YouTube Data API の使用法
- Gdata の例外処理
