1 | | {{{ |
2 | | #!html |
3 | | <h1>OpenPNE API 仕様案</h1> |
4 | | |
5 | | <p>最終更新日:2006/05/08 23:03</p> |
6 | | |
7 | | <h2>目次</h2> |
8 | | |
9 | | <ul> |
10 | | <li><a href="#section1">1. OpenPNE API とは?</a></li> |
11 | | <li><a href="#section2">2. 概要</a> |
12 | | <ul> |
13 | | <li><a href="#section2-1">2.1. 通信主体</a></li> |
14 | | <li><a href="#section2-2">2.2. プロトコル</a></li> |
15 | | <li><a href="#section2-3">2.3. セキュリティ</a></li> |
16 | | |
17 | | </ul></li> |
18 | | <li><a href="#section3">3. 認証情報の受け渡し</a> |
19 | | <ul> |
20 | | <li><a href="#section3-1">3.1. 概要</a> |
21 | | <li><a href="#section3-2">3.2. セッションIDの生成方法</a> |
22 | | <li><a href="#section3-3">3.3. メンバートークン</a> |
23 | | <li><a href="#section3-4">3.4. 外部サーバへのURL</a></li> |
24 | | |
25 | | <li><a href="#section3-5">3.5. 認証API通信</a></li> |
26 | | </ul></li> |
27 | | <li><a href="#section4">4. データ取得</a> |
28 | | <ul> |
29 | | <li><a href="#section4-1">4.1. コマンドコード</a> |
30 | | <li><a href="#section4-2">4.2. データ取得例</a> |
31 | | <ul> |
32 | | |
33 | | <li><a href="#section4-2-1">4.2.1. メンバー情報取得</a> |
34 | | </ul></li> |
35 | | </ul></li> |
36 | | <li><a href="#section5">5. エラーの場合</a> |
37 | | <ul> |
38 | | <li><a href="#section5-1">5.1. エラーコード一覧</a></li> |
39 | | <li><a href="#section5-2">5.2. レスポンス例</a></li> |
40 | | |
41 | | </ul></li> |
42 | | <li><a href="#section6">6. 参考URL</a> |
43 | | </ul> |
44 | | |
45 | | <hr> |
46 | | |
| 1 | = OpenPNE API 仕様案 = |
| 2 | |
| 3 | 最終更新日:2006/05/08 23:03 |
| 4 | |
| 5 | == 目次 == |
| 6 | |
| 7 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section1 1. OpenPNE API とは?] |
| 8 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section2 2. 概要] |
| 9 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section2-1 2.1. 通信主体] |
| 10 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section2-2 2.2. プロトコル] |
| 11 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section2-3 2.3. セキュリティ] |
| 12 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section3 3. 認証情報の受け渡し] |
| 13 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section3-1 3.1. 概要] |
| 14 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section3-2 3.2. セッションIDの生成方法] |
| 15 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section3-3 3.3. メンバートークン] |
| 16 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section3-4 3.4. 外部サーバへのURL] |
| 17 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section3-5 3.5. 認証API通信] |
| 18 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section4 4. データ取得] |
| 19 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section4-1 4.1. コマンドコード] |
| 20 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section4-2 4.2. データ取得例] |
| 21 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section4-2-1 4.2.1. メンバー情報取得] |
| 22 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section5 5. エラーの場合] |
| 23 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section5-1 5.1. エラーコード一覧] |
| 24 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section5-2 5.2. レスポンス例] |
| 25 | * [http://trac.openpne.jp/wiki/OpenPNEAPI#section6 6. 参考URL] |
| 26 | |
| 27 | ----- |
| 28 | {{{ |
| 29 | #!html |
48 | | <dl> |
49 | | <dt><strong>OpenPNE API</strong>とは、</dt> |
50 | | <dd>SNSサーバ上にある<strong>認証情報</strong>および<strong>SNSのデータ</strong>を、<strong>外部サーバ</strong>に対してHTTP通信により提供するためのAPIである。</dd> |
51 | | |
52 | | <dt><strong>認証情報</strong>とは、</dt> |
53 | | <dd>SNSサーバでユーザが認証済みである事を示す情報である。</dd> |
54 | | <dt><strong>SNSのデータ</strong>とは、</dt> |
55 | | <dd>OpenPNE SNS側のサーバのデータベースに保存されているデータを指す。 |
56 | | 例えば、「ニックネーム」「プロフィール写真のURL」「フレンドリスト」などである。</dd> |
57 | | <dt><strong>外部サーバ</strong>とは、<dt> |
58 | | <dd>SNSサーバから<strong>認証情報</strong>と<strong>SNSのデータ</strong>を取得し、SNSとは独立したサービスを提供するサーバである。</dd></dl> |
59 | | |
60 | | <hr> |
61 | | |
| 31 | }}} |
| 32 | |
| 33 | '''OpenPNE API'''とは、:: |
| 34 | SNSサーバ上にある'''認証情報'''および'''SNSのデータ'''を、'''外部サーバ'''に対してHTTP通信により提供するためのAPIである。 |
| 35 | |
| 36 | '''認証情報'''とは、:: |
| 37 | SNSサーバでユーザが認証済みである事を示す情報である。 |
| 38 | |
| 39 | '''SNSのデータ'''とは、:: |
| 40 | OpenPNE SNS側のサーバのデータベースに保存されているデータを指す。 [[br]] |
| 41 | 例えば、「ニックネーム」「プロフィール写真のURL」「フレンドリスト」などである。 |
| 42 | |
| 43 | '''外部サーバ'''とは、:: |
| 44 | SNSサーバから'''認証情報'''と'''SNSのデータ'''を取得し、SNSとは独立したサービスを提供するサーバである。 |
| 45 | |
| 46 | ----- |
| 47 | |
| 48 | {{{ |
| 49 | #!html |
135 | | |
136 | | <pre><?xml version="1.0" encoding="UTF-8"?> |
137 | | <methodCall> |
138 | | <methodName>000_auth</methodName> |
139 | | |
140 | | <params> |
141 | | <param> |
142 | | <value><struct> |
143 | | <member><name>sid</name> |
144 | | <value><string>b51a44e6a82cc0d6be9ecadea513c618</int></value> |
145 | | |
146 | | </member> |
147 | | <member><name>mid</name> |
148 | | <value><int>237</int></value> |
149 | | </member> |
150 | | <member><name>dt</name> |
151 | | |
152 | | <value><string>20060326032450</string></value> |
153 | | </member> |
154 | | </struct></value> |
155 | | </param> |
156 | | </params> |
157 | | </methodCall></pre> |
| 148 | }}} |
| 149 | |
| 150 | {{{ |
| 151 | #!xml |
| 152 | <?xml version="1.0" encoding="UTF-8"?> |
| 153 | <methodCall> |
| 154 | <methodName>000_auth</methodName> |
| 155 | |
| 156 | <params> |
| 157 | <param> |
| 158 | <value><struct> |
| 159 | <member><name>sid</name> |
| 160 | <value><string>b51a44e6a82cc0d6be9ecadea513c618</int></value> |
| 161 | |
| 162 | </member> |
| 163 | <member><name>mid</name> |
| 164 | <value><int>237</int></value> |
| 165 | </member> |
| 166 | <member><name>dt</name> |
| 167 | |
| 168 | <value><string>20060326032450</string></value> |
| 169 | </member> |
| 170 | </struct></value> |
| 171 | </param> |
| 172 | </params> |
| 173 | </methodCall> |
| 174 | }}} |
175 | | ?></pre> |
176 | | |
177 | | <h4>レスポンス例(成功)</h4> |
178 | | <p>メンバーIDを返す。</p> |
179 | | <pre> |
180 | | <?xml version="1.0" encoding="UTF-8"?> |
181 | | <methodResponse> |
182 | | <params> |
183 | | |
184 | | <param> |
185 | | <value><int>32</int></value> |
186 | | </param> |
187 | | </params> |
188 | | </methodResponse></pre> |
189 | | |
190 | | <h4>レスポンス例(失敗)(ユーザが正常登録状態にない場合)</h4> |
191 | | <pre> |
192 | | <?xml version="1.0" encoding="UTF-8"?> |
193 | | <methodResponse> |
194 | | <fault> |
195 | | <value> |
196 | | |
197 | | <struct> |
198 | | <member> |
199 | | <name>faultCode</name> |
200 | | <value><int>51</int></value> |
201 | | |
202 | | </member> |
203 | | <member> |
204 | | <name>faultString</name> |
205 | | <value><string></string></value> |
206 | | |
207 | | </member> |
208 | | </struct> |
209 | | </value> |
210 | | </fault> |
211 | | </methodResponse></pre> |
212 | | |
213 | | <hr> |
214 | | |
| 194 | ?> |
| 195 | }}} |
| 196 | |
| 197 | |
| 198 | === レスポンス例(成功) === |
| 199 | メンバーIDを返す。 |
| 200 | |
| 201 | {{{ |
| 202 | #!xml |
| 203 | <?xml version="1.0" encoding="UTF-8"?> |
| 204 | <methodResponse> |
| 205 | <params> |
| 206 | |
| 207 | <param> |
| 208 | <value><int>32</int></value> |
| 209 | </param> |
| 210 | </params> |
| 211 | </methodResponse> |
| 212 | }}} |
| 213 | |
| 214 | === レスポンス例(失敗)(ユーザが正常登録状態にない場合) === |
| 215 | {{{ |
| 216 | #!xml |
| 217 | <?xml version="1.0" encoding="UTF-8"?> |
| 218 | <methodResponse> |
| 219 | <fault> |
| 220 | <value> |
| 221 | |
| 222 | <struct> |
| 223 | <member> |
| 224 | <name>faultCode</name> |
| 225 | <value><int>51</int></value> |
| 226 | |
| 227 | </member> |
| 228 | <member> |
| 229 | <name>faultString</name> |
| 230 | <value><string></string></value> |
| 231 | |
| 232 | </member> |
| 233 | </struct> |
| 234 | </value> |
| 235 | </fault> |
| 236 | </methodResponse> |
| 237 | }}} |
| 238 | |
| 239 | ----- |
| 240 | |
| 241 | {{{ |
| 242 | #!html |
249 | | <p>3番のメンバーが10番のメンバーを見た場合</p> |
250 | | |
251 | | <pre><?xml version="1.0" encoding="UTF-8"?> |
252 | | |
253 | | <methodCall> |
254 | | <methodName>001_get_c_member</methodName> |
255 | | <params> |
256 | | <param> |
257 | | <value><struct> |
258 | | <member><name>target_c_member_id</name> |
259 | | |
260 | | <value><int>10</int></value> |
261 | | </member> |
262 | | <member><name>my_c_member_id</name> |
263 | | <value><int>3</int></value> |
264 | | |
265 | | </member> |
266 | | </struct></value> |
267 | | </param> |
268 | | </params> |
269 | | </methodCall></pre> |
270 | | |
271 | | <p>PHPコード例</p> |
272 | | |
273 | | <pre><?php |
274 | | require_once "XML/RPC.php"; |
| 277 | }}} |
| 278 | 3番のメンバーが10番のメンバーを見た場合 |
| 279 | |
| 280 | {{{ |
| 281 | #!xml |
| 282 | <?xml version="1.0" encoding="UTF-8"?> |
| 283 | |
| 284 | <methodCall> |
| 285 | <methodName>001_get_c_member</methodName> |
| 286 | <params> |
| 287 | <param> |
| 288 | <value><struct> |
| 289 | <member><name>target_c_member_id</name> |
| 290 | |
| 291 | <value><int>10</int></value> |
| 292 | </member> |
| 293 | <member><name>my_c_member_id</name> |
| 294 | <value><int>3</int></value> |
| 295 | |
| 296 | </member> |
| 297 | </struct></value> |
| 298 | </param> |
| 299 | </params> |
| 300 | </methodCall> |
| 301 | }}} |
| 302 | |
| 303 | PHPコード例 |
| 304 | |
| 305 | {{{ |
| 306 | #!php |
| 307 | <?php |
| 308 | require_once "XML/RPC.php"; |
315 | | |
316 | | <p>date: YYYYMMDDHHMMSS</p> |
317 | | |
318 | | <h5>レスポンス例</h5> |
319 | | <pre><?xml version="1.0" encoding="UTF-8"?> |
320 | | <methodResponse> |
321 | | |
322 | | <params> |
323 | | <param> |
324 | | <value> |
325 | | <struct> |
326 | | <member> |
327 | | <name>c_member_id</name> |
328 | | |
329 | | <value><int>10</int></value> |
330 | | </member> |
331 | | <member> |
332 | | <name>nickname</name> |
333 | | |
334 | | <value><string>ハチス</string></value> |
335 | | </member> |
336 | | <member> |
337 | | <name>image_url</name> |
338 | | |
339 | | <value> |
340 | | <string>http://sns.example.com/img.php?filename=m_10_1133710936.jpg</string> |
341 | | </value> |
342 | | </member> |
343 | | <member> |
344 | | |
345 | | <name>image_url_1</name> |
346 | | <value> |
347 | | <string>http://sns.example.com/img.php?filename=m_10_1133710936.jpg</string> |
348 | | </value> |
349 | | </member> |
350 | | |
351 | | <member> |
352 | | <name>birth_year</name> |
353 | | <value><int>1982</int></value> |
354 | | </member> |
355 | | |
356 | | <member> |
357 | | <name>birth_month</name> |
358 | | <value><int>2</int></value> |
359 | | </member> |
360 | | |
361 | | <member> |
362 | | <name>birth_day</name> |
363 | | <value><int>15</int></value> |
364 | | </member> |
365 | | |
366 | | <member> |
367 | | <name>access_date</name> |
368 | | <value><string>20060116113706</string></value> |
369 | | </member> |
370 | | |
371 | | <member> |
372 | | <name>r_date</name> |
373 | | <value><string>20050817000000</string></value> |
374 | | </member> |
375 | | |
376 | | <member> |
377 | | <name>profile</name> |
378 | | <value> |
379 | | <struct> |
380 | | <member> |
381 | | |
382 | | <name>sex</name> |
383 | | <value><string>男性</string></value> |
384 | | </member> |
385 | | <member> |
386 | | |
387 | | <name>blood_type</name> |
388 | | <value><string>o</string></value> |
389 | | </member> |
390 | | <member> |
391 | | |
392 | | <name>pre_addr_pref</name> |
393 | | <value><string>東京都</string></value> |
394 | | </member> |
395 | | <member> |
396 | | |
397 | | <name>old_addr_pref</name> |
398 | | <value><string>埼玉県</string></value> |
399 | | </member> |
400 | | <member> |
401 | | |
402 | | <name>self_intro</name> |
403 | | <value><string>演劇サークルに入りました。12/14-18に初舞台です。 |
404 | | 毎日稽古で忙しいです。合間をぬって出社します。</string></value> |
405 | | </member> |
406 | | </struct> |
407 | | |
408 | | </value> |
409 | | </member> |
410 | | </struct> |
411 | | </value> |
412 | | </param> |
413 | | </params> |
414 | | </methodResponse></pre> |
415 | | |
416 | | <hr> |
417 | | |
| 352 | }}} |
| 353 | |
| 354 | date: YYYYMMDDHHMMSS |
| 355 | |
| 356 | === レスポンス例 === |
| 357 | {{{ |
| 358 | #!xml |
| 359 | <?xml version="1.0" encoding="UTF-8"?> |
| 360 | <methodResponse> |
| 361 | |
| 362 | <params> |
| 363 | <param> |
| 364 | <value> |
| 365 | <struct> |
| 366 | <member> |
| 367 | <name>c_member_id</name> |
| 368 | |
| 369 | <value><int>10</int></value> |
| 370 | </member> |
| 371 | <member> |
| 372 | <name>nickname</name> |
| 373 | |
| 374 | <value><string>ハチス</string></value> |
| 375 | </member> |
| 376 | <member> |
| 377 | <name>image_url</name> |
| 378 | |
| 379 | <value> |
| 380 | <string>http://sns.example.com/img.php?filename=m_10_1133710936.jpg</string> |
| 381 | </value> |
| 382 | </member> |
| 383 | <member> |
| 384 | |
| 385 | <name>image_url_1</name> |
| 386 | <value> |
| 387 | <string>http://sns.example.com/img.php?filename=m_10_1133710936.jpg</string> |
| 388 | </value> |
| 389 | </member> |
| 390 | |
| 391 | <member> |
| 392 | <name>birth_year</name> |
| 393 | <value><int>1982</int></value> |
| 394 | </member> |
| 395 | |
| 396 | <member> |
| 397 | <name>birth_month</name> |
| 398 | <value><int>2</int></value> |
| 399 | </member> |
| 400 | |
| 401 | <member> |
| 402 | <name>birth_day</name> |
| 403 | <value><int>15</int></value> |
| 404 | </member> |
| 405 | |
| 406 | <member> |
| 407 | <name>access_date</name> |
| 408 | <value><string>20060116113706</string></value> |
| 409 | </member> |
| 410 | |
| 411 | <member> |
| 412 | <name>r_date</name> |
| 413 | <value><string>20050817000000</string></value> |
| 414 | </member> |
| 415 | |
| 416 | <member> |
| 417 | <name>profile</name> |
| 418 | <value> |
| 419 | <struct> |
| 420 | <member> |
| 421 | |
| 422 | <name>sex</name> |
| 423 | <value><string>男性</string></value> |
| 424 | </member> |
| 425 | <member> |
| 426 | |
| 427 | <name>blood_type</name> |
| 428 | <value><string>o</string></value> |
| 429 | </member> |
| 430 | <member> |
| 431 | |
| 432 | <name>pre_addr_pref</name> |
| 433 | <value><string>東京都</string></value> |
| 434 | </member> |
| 435 | <member> |
| 436 | |
| 437 | <name>old_addr_pref</name> |
| 438 | <value><string>埼玉県</string></value> |
| 439 | </member> |
| 440 | <member> |
| 441 | |
| 442 | <name>self_intro</name> |
| 443 | <value><string>演劇サークルに入りました。12/14-18に初舞台です。 |
| 444 | 毎日稽古で忙しいです。合間をぬって出社します。</string></value> |
| 445 | </member> |
| 446 | </struct> |
| 447 | |
| 448 | </value> |
| 449 | </member> |
| 450 | </struct> |
| 451 | </value> |
| 452 | </param> |
| 453 | </params> |
| 454 | </methodResponse> |
| 455 | }}} |
| 456 | |
| 457 | ----- |
| 458 | |
| 459 | {{{ |
| 460 | #!html |
522 | | <p>リクエストパラメータに不足がある場合</p> |
523 | | <pre><?xml version="1.0" encoding="UTF-8"?> |
524 | | |
525 | | <methodResponse> |
526 | | <fault> |
527 | | <value> |
528 | | <struct> |
529 | | <member> |
530 | | <name>faultCode</name> |
531 | | |
532 | | <value><int>3</int></value> |
533 | | </member> |
534 | | <member> |
535 | | <name>faultString</name> |
536 | | |
537 | | <value><string>Incorrect parameters passed to method: Signature permits 1 parameters but the request had 0</string></value> |
538 | | </member> |
539 | | </struct> |
540 | | </value> |
541 | | </fault> |
542 | | |
543 | | </methodResponse></pre> |
544 | | |
545 | | <hr> |
546 | | |
| 563 | }}} |
| 564 | |
| 565 | リクエストパラメータに不足がある場合 |
| 566 | |
| 567 | {{{ |
| 568 | #!xml |
| 569 | <?xml version="1.0" encoding="UTF-8"?> |
| 570 | |
| 571 | <methodResponse> |
| 572 | <fault> |
| 573 | <value> |
| 574 | <struct> |
| 575 | <member> |
| 576 | <name>faultCode</name> |
| 577 | |
| 578 | <value><int>3</int></value> |
| 579 | </member> |
| 580 | <member> |
| 581 | <name>faultString</name> |
| 582 | |
| 583 | <value><string>Incorrect parameters passed to method: Signature permits 1 parameters but the request had 0</string></value> |
| 584 | </member> |
| 585 | </struct> |
| 586 | </value> |
| 587 | </fault> |
| 588 | |
| 589 | </methodResponse> |
| 590 | }}} |
| 591 | |
| 592 | ----- |
| 593 | {{{ |
| 594 | #!html |