របៀបបង្កើតក្លាយអិនត៍ OAuth
កំណែ API 2026-10-affable-towhee
មុនពេលអ្នកចុច បង្កើតក្លាយអិនត៍ នៅលើទំព័រ ការតភ្ជាប់ សូមសម្រេចចិត្តលើរឿងបី៖ អ្វីដែលក្លាយអិនត៍អាចធ្វើបាន ដំណើរការណាដែលកាន់សម្ងាត់របស់វា និងអ្នកណាបង់ថ្លៃសម្រាប់ការហៅរបស់វា។ មគ្គុទ្ទេសក៍ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវកំណត់ច្បាប់ទាំងនោះ ហើយទំព័រនេះអនុវត្តវាចំពោះក្រុមហ៊ុនប្រឌិតពីរ គឺ Luba និង Farducks។
Luba៖ Dive Deck
Luba ដំណើរការនាវាមុជទឹកស្វ័យប្រវត្តិ ជាសេវាដឹកជញ្ជូន និងជិះរួមគ្នា។ Dive Deck របស់វាបង្ហាញឃ្លាមួយនៃការមុជទឹកនោះដល់អ្នកដំណើរម្នាក់ៗនៅលើអេក្រង់ក្នុងបន្ទប់ ជាភាសាដែលពួកគេកំពុងរៀន ហើយក្រុមប្រតិបត្តិការរបស់ Luba តាមដានថាកូតានៅសល់ប៉ុន្មាន។
Luba បង្កើតក្លាយអិនត៍មួយ ឈ្មោះ Luba Dive Deck ដែលត្រូវបានអនុញ្ញាតឱ្យ បង្កើតវាក្យសព្ទ (vocab:generate) និង អានការប្រើប្រាស់ (usage:read) ហើយគិតថ្លៃលើ កម្រិតប្រើប្រាស់នៃគម្រោងរបស់អ្នក (allowance)។ ដំណើរការពីរប្រើវារួមគ្នា ហើយនីមួយៗស្នើសុំតែវិសាលភាពដែលវាត្រូវការនៅពេលប្ដូរ។ ការប្ដូរដែលមិនដាក់ scope ទទួលបានគ្រប់វិសាលភាពដែលក្លាយអិនត៍ត្រូវបានអនុញ្ញាត។ ការប្ដូរដែលស្នើសុំវិសាលភាពដែលក្លាយអិនត៍មិនត្រូវបានអនុញ្ញាត ត្រូវបានបដិសេធទាំងមូលដោយ invalid_scope៖ វាមិនដែលត្រូវបានបង្រួមដោយស្ងាត់ៗទេ។
ម៉ាស៊ីនមេបញ្ជូនសរសេរឃ្លាសម្រាប់ការមុជទឹកនីមួយៗ។ វាស្នើសុំតែ vocab:generate ប៉ុណ្ណោះ ដូច្នេះថូខឹនដែលលេចធ្លាយពីវា មិនអាចអានការប្រើប្រាស់របស់ Luba បានទេ។
export LINGARA_TOKEN="$(curl -sS --fail-with-body -X POST "https://api.getlingara.com/oauth/token" \
-u "$LINGARA_CLIENT_ID:$LINGARA_CLIENT_SECRET" \
-d "grant_type=client_credentials" \
--data-urlencode "scope=vocab:generate" | jq -r '.access_token // error(.error)')"curl -N -X POST "https://api.getlingara.com/v1/vocab/stream" \
-H "Authorization: Bearer $LINGARA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"level":2,"source_lang":"en","target_lang":"zh","count":8}'ផ្ទាំងគ្រប់គ្រងប្រតិបត្តិការ គឺជាដំណើរការទីពីរនៅខាងម៉ាស៊ីនមេ ដែលប្រើ ID ក្លាយអិនត៍ និងសម្ងាត់ដូចគ្នា។ វាស្នើសុំតែ usage:read ប៉ុណ្ណោះ ហើយអានកូតាដែលនៅសល់។
export LINGARA_TOKEN="$(curl -sS --fail-with-body -X POST "https://api.getlingara.com/oauth/token" \
-u "$LINGARA_CLIENT_ID:$LINGARA_CLIENT_SECRET" \
-d "grant_type=client_credentials" \
--data-urlencode "scope=usage:read" | jq -r '.access_token // error(.error)')"curl "https://api.getlingara.com/v1/usage" \
-H "Authorization: Bearer $LINGARA_TOKEN"ដំណើរការទាំងពីរដំណើរការនៅលើម៉ាស៊ីនមេរបស់ Luba។ ថេប្លេតក្នុងបន្ទប់ស្នើសុំឃ្លាពីម៉ាស៊ីនមេបញ្ជូន ហើយមិនដែលកាន់សម្ងាត់ ឬថូខឹនទេ ព្រោះអ្វីៗនៅលើឧបករណ៍ដែលអ្នកដំណើរអាចប៉ះបាន អាចត្រូវបានអាន។ ផ្នែក «រក្សាទុកសម្ងាត់ និងថូខឹននៅលើម៉ាស៊ីនមេ» នៃមគ្គុទ្ទេសក៍ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ ពន្យល់ពីមូលហេតុ។
អតិថិជនដដែល ជាគម្រោងដែលអ្នកអាចក្លូន និងដំណើរការបាន៖ integrations/luba-dive-deck
Farducks៖ Batter Rewards
Farducks គឺជាខ្សែសង្វាក់ហាងទំនិញងាយស្រួលដែលលក់ត្រី និងដំឡូងបំពង (fish and chips)។ ខណៈពេលដែលការកុម្ម៉ង់កំពុងបំពង កម្មវិធីភក្ដីភាព Batter Rewards ស្នើសុំផែនការមេរៀនខ្លីមួយពី backend ផ្ទាល់របស់ Farducks បន្ទាប់មកអានវាមកវិញ។ កម្មវិធី និងម៉ាស៊ីនគិតលុយហៅ backend របស់ Farducks មិនមែន Lingara ទេ ដូច្នេះគ្មានមួយណាកាន់សម្ងាត់ឡើយ។
Farducks បង្កើតក្លាយអិនត៍មួយ ឈ្មោះ Farducks Batter Rewards ដែលត្រូវបានអនុញ្ញាតឱ្យ បង្កើតផែនការមេរៀន (lesson_plans:write) និង អានផែនការមេរៀន (lesson_plans:read) ហើយគិតថ្លៃលើ កម្រិតប្រើប្រាស់នៃគម្រោងរបស់អ្នក (allowance)។ នោះជាវិធីគិតថ្លៃតែមួយគត់ដែលអាចបង្កើតក្លាយអិនត៍បាននាពេលបច្ចុប្បន្ន ហើយវិធីគិតថ្លៃរបស់ក្លាយអិនត៍ត្រូវបានកំណត់ថេរនៅពេលវាត្រូវបានបង្កើត។ របៀបមួយទៀត គឺ metered (បង់តាមការប្រើប្រាស់) ត្រូវបានពិពណ៌នានៅក្នុងផ្នែក «អ្នកណាបង់ថ្លៃសម្រាប់ការហៅ» នៃមគ្គុទ្ទេសក៍ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ។
backend ស្នើសុំតែ lesson_plans:write ប៉ុណ្ណោះ ហើយបង្កើតផែនការ។ ការឆ្លើយតបផ្សាយជាស្ទ្រីម ហើយព្រឹត្តិការណ៍ started របស់វាផ្ទុក plan_id នៃផែនការ។
export LINGARA_TOKEN="$(curl -sS --fail-with-body -X POST "https://api.getlingara.com/oauth/token" \
-u "$LINGARA_CLIENT_ID:$LINGARA_CLIENT_SECRET" \
-d "grant_type=client_credentials" \
--data-urlencode "scope=lesson_plans:write" | jq -r '.access_token // error(.error)')"curl -N -X POST "https://api.getlingara.com/v1/lesson-plans" \
-H "Authorization: Bearer $LINGARA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"context":"Ordering food at a night market","source_lang":"en","target_lang":"zh","level":2}'កំណត់ ID ទៅ plan_id នោះ បន្ទាប់មកស្នើសុំ lesson_plans:read ហើយអានផែនការមកវិញ។ ការប្ដូរមួយអាចស្នើសុំវិសាលភាពច្រើនរបស់ក្លាយអិនត៍ ដោយបំបែកដោយដកឃ្លានៅក្នុង scope។ ពាក្យបញ្ជានីមួយៗនៅទីនេះស្នើសុំតែមួយ ព្រោះនីមួយៗត្រូវបានផ្សំពីការហៅតែមួយ។
export LINGARA_TOKEN="$(curl -sS --fail-with-body -X POST "https://api.getlingara.com/oauth/token" \
-u "$LINGARA_CLIENT_ID:$LINGARA_CLIENT_SECRET" \
-d "grant_type=client_credentials" \
--data-urlencode "scope=lesson_plans:read" | jq -r '.access_token // error(.error)')"curl "https://api.getlingara.com/v1/lesson-plans/$ID" \
-H "Authorization: Bearer $LINGARA_TOKEN"ថ្ងៃមួយ សម្ងាត់ត្រូវបានបិទភ្ជាប់ចូលក្នុងសំបុត្រជំនួយមួយ។ នៅលើទំព័រ ការតភ្ជាប់ Farducks ចុច សម្ងាត់ថ្មី ហើយដាក់វាឱ្យប្រើនៅលើ backend រង់ចាំរហូតដល់កាលបរិច្ឆេទ ប្រើចុងក្រោយ របស់សម្ងាត់ចាស់ឈប់ផ្លាស់ប្តូរ បន្ទាប់មកចុច ដកហូត លើសម្ងាត់ចាស់។ ចាប់ពីពេលនោះ ថូខឹនចូលប្រើទាំងអស់ដែលបានប្ដូរដោយសម្ងាត់ចាស់ត្រូវបានបដិសេធ។ ផ្នែក «ប្ដូរសម្ងាត់ថ្មី» នៃមគ្គុទ្ទេសក៍ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ មានដែនកំណត់សម្ងាត់ពីរ និងមូលហេតុដែលសម្ងាត់តែមួយគត់របស់ក្លាយអិនត៍មិនអាចដកហូតបាន។
អតិថិជនដដែល ជាគម្រោងដែលអ្នកអាចក្លូន និងដំណើរការបាន៖ integrations/farducks-batter-rewards
ទៅណាបន្ទាប់
មគ្គុទ្ទេសក៍ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ គ្របដណ្តប់កំហុសនៃការប្ដូរ អ្វីដែលត្រូវធ្វើនៅពេលថូខឹនផុតកំណត់ និងច្បាប់នៃការប្ដូរសម្ងាត់ថ្មី។ មគ្គុទ្ទេសក៍កំណែ គ្របដណ្តប់កំណែដែលក្លាយអិនត៍ត្រូវបានភ្ជាប់ និងរបៀបជ្រើសរើសកំណែផ្សេងសម្រាប់ការហៅតែមួយ។
ប្រសិនបើការបកប្រែ និងឯកសារយោងជាភាសាអង់គ្លេសខុសគ្នា ឯកសារយោងជាភាសាអង់គ្លេសគឺជាឯកសារដែលត្រឹមត្រូវ។