Translations of this page:

ឯកសារ API

ភាពត្រឹមត្រូវនិងសុវត្ថិភាព

GeoChat បានផ្តល់នូវអ្នកប្រើប្រាស់នូវ API Basic Auth ដើម្បីកំណត់ភាពត្រឹមត្រូវរបស់អ្នកប្រើប្រាស់។

End points មួយចំនួនដំណើរការបានទាំងauthenticated និង non-authenticated requests. បើសិនជាclient មិនsupport pre authentication នេះប្រហែលជាបញ្ហា។ នៅក្នុងករណីនេះ ?auth=true គួតែត្រូវបានបញ្ចូលទៅក្នុងQueryString ដើម្បីជំរុញប្រពន្ធ័មេកានិករបស់authentication មូលដ្ឋាន (Since 1.7.1)

រាល់សំណើរទាំរអស់អាចធ្វើបានតាមរយៈ SSL

លេខទំពរ័

Api ធ្វើការហៅយកលេខទំពរ័ដែលត្រឹមត្រូវគឺប្រើ1-based page index នៅក្នុង QueryString។ លទ្ធផលនឹងភ្ជាប់ជាមួយនូវដំណរភ្ជាប់ទៅកាន់ទំពរ័ខាងមុខនិងទំពរ័បន្ទាប់ បើសិនជាជាអាចប្រើដំណរភ្ជាប់ដែលល្អិតបំផុតជាមួយនិងទំនាក់ទំនងជាមួយទំពរ័ខាងក្រោយនិងទំពរ័បន្ទាប់។
បើសិនជាលេខទំពរ័មិនត្រឹមត្រូវនៅក្នុងQueryString, នោះវានឹងទៅកាន់ទំពរ័ដំបូងដោយស្វយ័ប្រវត្តិ។
លទ្ធផលគឺមានកំណត់តែ១០តែប៉ុណ្ណោះក្នុងមួយទំពរ័។

ជាឧទាហរណ៏លទ្ធផលនៃ http://geochat.instedd.org/api/foo/bar?page=2 នឹង:

<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>...</title>
    <description>...</description>
    <atom:link rel="previous" href="http://geochat.instedd.org/api/foo/bar?page=1" />
    <atom:link rel="next" href="http://geochat.instedd.org/api/foo/bar?page=3" />
    <!-- items -->
  </channel>
</rss>

End Points

HTTP Method URI Since version
Get User Info GET /api/users/{login} 1.7
Create User POST /api/users/{login}/create 1.7
Update User Profile POST /api/users/{login}/update 1.7
List User Groups GET /api/users/{login}/groups 1.7
List User Requests GET /api/users/{login}/requests 1.8
List User Invites GET /api/users/{login}/invites 1.8
Verify User Credentials GET /api/users/{login}/verify 1.8
Get Group Info GET /api/groups/{alias} 1.7
Create Group POST /api/groups/{alias}/create 1.7
Update Group POST /api/groups/{alias}/update 1.7
List Groups GET /api/groups 1.7
List Group Members GET /api/groups/{alias}/members 1.7
Join Group POST /api/groups/{alias}/join 1.7
Leave Group POST /api/groups/{alias}/leave 1.7
Invite User to Group POST /api/groups/{alias}/invite 1.7
Get a Message GET /api/messages/{id} 1.7
Send Message POST /api/messages 1.7
Send Message to a Group POST /api/groups/{alias}/messages 1.7
Get Group Messages GET /api/groups/{alias}/messages 1.7
Get User Messages GET /api/users/{login}/messages 1.7
Get Public Messages GET /api/messages/public 1.7
Group Overall Stats GET /api/groups/{alias}/stats/overall 1.9
Group Message History Stats GET /api/groups/{alias}/stats/messagehistory 1.9
Group Message History Per Protocol Stats GET /api/groups/{alias}/stats/messagehistoryperprotocol 1.9
Group User Channels History Stats GET /api/groups/{alias}/stats/userchannelshistory 1.9
Group Pending Invitations Stats GET /api/groups/{alias}/stats/pendinginvitations 1.9
System Overall Stats GET /api/system/stats/overall 1.9
System Group History Stats GET /api/system/stats/grouphistory 1.9
System Message History Stats GET /api/system/stats/messagehistory 1.9
System Message History Per Protocol Stats GET /api/system/stats/messagehistoryperprotocol 1.9
System User Channels History Stats GET /api/system/stats/userchannelshistory 1.9
System Pending Invitations Stats GET /api/system/stats/pendinginvitations 1.9
System Users Per Group Count Stats GET /api/system/stats/userspergroupcount 1.9
System Users History Stats GET /api/system/stats/usershistory 1.9

វិធី

អ្នកប្រើប្រាស់ API

ក្រុម API

ការផ្ញើសារ API

បង្ហាញក្រុម API

System Stats API

លទ្ធផល

API resources អាចត្រូវបានអ្នកប្រប្រាស់ធ្វើជាសំនើរជា ATOMRSS (វិធីមួយចំនួនអាអនុញ្ញាតិ KML និង CSV).

អ្នកអាចកំណត់ទំរង់នៃលទ្ធផលនៅក្នុងURI នៃសំនើរ។ រូបមន្តរបស់វាគឺ http://geochat.instedd.org/api/foo/bar.{format}, ឧទាហរណ៏ http://geochat.instedd.org/api/users/johndoe.rss នឹងផ្តល់លទ្ធផលជា RSS, និង http://geochat.instedd.org/api/users/johndoe.atom នឹងផ្តល់លទ្ធផលជា ATOM.

បើសិនជាមិនកំណត់ទំរង់ច្បាស់លាស់ទេ(ឧទា. http://geochat.instedd.org/api/users/johndoe) នោះវានឹងផ្តល់លទ្ធផលជា RSS.

អ្នកអាចមើលឧទាហរណ៏នៅក្នុងឯកសារនៃវិធី API នីមួយៗ។

Codes មានបញ្ហា

នៅពេលដែលCodeមានកំហុសណាមួយកើតឡើង,​ នោះHTTP នឹងបង្ហាញដូចខាងក្រោម៖

  • 404 Not Found: មាននយ័ថា អ្នកកំពុងដែលធ្វើសំនើរដែលគ្មានresource។
  • 403 Forbidden: មាននយ័ថា អ្នកគ្មានសិទ្ធិក្នុងការប្រើប្រាស់resource ដែលអ្នកបានស្នើទេ។
  • 401 Unauthorized: មានលក្ខណៈប្រហាក់ប្រហែលនិងចំនុចខាងលើដែរ, តែផ្តោតទៅលើការប្រើប្រាស់ដែលមានសិទ្ធិហើយតែមិនបានសំរេច ឬពុំទាន់បានផ្តល់អោយ។
  • 400 Bad Format: មានប៉ារ៉ាមែត្រណាមួយខុស ឬរូបមន្តខុសក្នុងការធ្វើសំនើរ។

ឧទាហរណ៏

PHP

គំរូ PHP អាចរកបាននៅក្នុងfolder 'Samples/RestApi/PHP' នៃ source code របស់ GeoChat (google code link).

ដើម្បីអាចដំនើរការCodeគំរូនេះ, អ្នកចាំបាច់ត្រូវមាន web server ជាមួយនិង PHP (គំរូនេះត្រូវបានបង្កើតឡើងជាមួយនិង PHP 5.3.0, ប៉ុន្តែជាមួយនិង versions ផ្សេងទៀតក៏អាចដំណើរការដែរ) ហើយ 'php_curl' extension ត្រូវបានenable។ MagpieRSS ក៏មានតំរូវការដែរ, ប៉ុន្តែវាត្រូវបានបញ្ជូលរួចជាស្រេចនៅក្នុងsource code។ ទីតាំងURL សំរាប់ API service អាចត្រូវបានconfigure នៅក្នុង 'api.php', គ្រាន់តែកែឈ្មោះដែលបានដាក់អោយច្បាស់ 'BASE_API_URL'.

មានគំរូ៣សំខាន់ៗគឺ៖

  • គំរូនៃក្រុម (group_example.php): បង្ហាញពត៌មានក្រុម, សារដែលនៅក្នុងក្រុមចុងក្រោយបំផុត និងអ្នកប្រើប្រាស់ដែលផ្ញើសារទៅកាន់ក្រុម។
  • គំរូសារ (mymessages_example.php): បង្ហាញសាររបស់អ្នកប្រើប្រាស់។
  • គំរូControl panel (controlpanel_example.php): បង្ហាញ 'my groups' (ក្រុមរបស់អ្នកប្រើប្រាស់) ហើយអោយអ្នកប្រើប្រាស់បង្កើតក្រុមថ្មី។

ចំណាំ: login របស់អ្នកប្រើប្រាស់មិនបញ្ជាក់កំណត់សំគាល់ទេ។

 
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed