[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Gdata_ClientLogin.xml
blobb4feed1ca479c2e941f3e0b6db96dfa0c255a920
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20779 -->
4 <sect1 id="zend.gdata.clientlogin">
5     <title>ClientLogin による認証</title>
7     <para>
8         ClientLogin を使用すると、<acronym>PHP</acronym> アプリケーションで
9         Google Data サービスへのアクセスのための認証ができるようになります。
10         ユーザの認証情報を、Http クライアントに指定します。
11     </para>
13     <para>
14         Google Data ClientLogin 認証についての詳細は、
15         <ulink url="http://code.google.com/apis/accounts/AuthForInstalledApps.html"> http://code.google.com/apis/accounts/AuthForInstalledApps.html </ulink>
16         を参照ください。
17     </para>
19     <para>
20         Google のドキュメントでは、ClientLogin 方式は
21         "インストールするアプリケーション" に適しており、一方 AuthSub は
22         "ウェブアプリケーション" に適しているとされています。
23         これらの違いは、AuthSub はユーザとのやりとりが発生するということです。
24         ブラウザのインターフェイスを用いて、リクエストのリダイレクトを行います。
25         ClientLogin では <acronym>PHP</acronym> のコードでアカウント情報を提供します。
26         ユーザが直接認証情報を入力する必要がなくなります。
27     </para>
29     <para>
30         ClientLogin で使用する認証情報は、Google サービスの正当な認証情報でなければなりません。
31         しかし、それは <acronym>PHP</acronym> アプリケーションを使用するユーザ自身のものである必要はありません。
32     </para>
34     <sect2 id="zend.gdata.clientlogin.login">
35         <title>ClientLogin 認証済みの Http クライアントの作成</title>
37         <para>
38             ClientLogin を使用した認証済みの Http クライアントを作成するには、
39             静的関数 <methodname>Zend_Gdata_ClientLogin::getHttpClient()</methodname>
40             をコールし、Google アカウントの認証情報をプレーンテキストで渡します。
41             この関数の返り値は、<classname>Zend_Http_Client</classname> クラスのオブジェクトとなります。
42         </para>
44         <para>
45             オプションの三番目のパラメータには、Google Data
46             サービスの名前が指定できます。たとえば、'cl'
47             は Google Calendar を表します。デフォルトは 'xapi' で、
48             これは Google Data サーバの汎用的なサービス名を表します。
49         </para>
51         <para>
52             オプションの四番目のパラメータには <classname>Zend_Http_Client</classname>
53             のインスタンスを指定できます。これによって、
54             たとえばプロキシサーバなどのクライアント設定を行うことができます。
55             このパラメータに <constant>NULL</constant> を渡すと、
56             汎用的な <classname>Zend_Http_Client</classname> オブジェクトが作成されます。
57         </para>
59         <para>
60             オプションの五番目のパラメータには、Google Data
61             サーバがクライアントアプリケーションを識別するための短い文字列
62             (これはログ記録の際に使用します) を指定できます。
63             デフォルトでは、これは "Zend-ZendFramework" となります。
64         </para>
66         <para>
67           オプションの六番目のパラメータには、サーバが発行する
68           <trademark>CAPTCHA</trademark> チャレンジ用の文字列 ID を設定します。
69           これが必要となるのは、一度ログインを試みた際にサーバから
70           <trademark>CAPTCHA</trademark> チャレンジを受け取った後の再ログイン時のみです。
71         </para>
73         <para>
74           オプションの七番目のパラメータには、サーバが発行する
75           <trademark>CAPTCHA</trademark> チャレンジに対するユーザからの応答を設定します。
76           これが必要となるのは、一度ログインを試みた際にサーバから
77           <trademark>CAPTCHA</trademark> チャレンジを受け取った後の再ログイン時のみです。
78         </para>
80         <para>
81             以下の例は、<acronym>PHP</acronym> のウェブアプリケーションのコードです。
82             Google Calendar サービスに対する認証を行い、
83             認証済みの <classname>Zend_Http_Client</classname> を使用して <classname>Zend_Gdata</classname>
84             クライアントオブジェクトを作成します。
85         </para>
87         <programlisting language="php"><![CDATA[
88 // Google アカウントの情報を指定します
89 $email = 'johndoe@gmail.com';
90 $passwd = 'xxxxxxxx';
91 try {
92    $client = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, 'cl');
93 } catch (Zend_Gdata_App_CaptchaRequiredException $cre) {
94     echo 'CAPTCHA 画像の URL: ' . $cre->getCaptchaUrl() . "\n";
95     echo 'トークン ID: ' . $cre->getCaptchaToken() . "\n";
96 } catch (Zend_Gdata_App_AuthException $ae) {
97    echo '認証に失敗: ' . $ae->exception() . "\n";
100 $cal = new Zend_Gdata_Calendar($client);
101 ]]></programlisting>
103     </sect2>
105     <sect2 id="zend.gdata.clientlogin.terminating">
106         <title>Http クライアントの ClientLogin 認証の解除</title>
108         <para>
109             ClientLogin 認証を解除する方法はありません。というのは、これは
110             AuthSub のようにトークンを使用した認証ではないからです。
111             ClientLogin 認証に使用する情報は Google アカウントのユーザ名とパスワードであり、
112             これらは将来も繰り返し使用できます。
113         </para>
115     </sect2>
117 </sect1>