Lingara Lingara ឯកសារ មគ្គុទ្ទេសក៍សិក្សា API បណ្ណាល័យ កម្មវិធី បង្កើត កម្មវិធីលើបណ្ដាញ
ភាសា: ខ្មែរ

ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ

ទំព័រនេះត្រូវបានបកប្រែពីភាសាអង់គ្លេស។ ប្រសិនបើទាំងពីរខុសគ្នា ទំព័រភាសាអង់គ្លេសគឺត្រឹមត្រូវ។ អានទំព័រភាសាអង់គ្លេស

អ្នកបង្កើតក្លាយអិនដោយប្រើ ID ក្លាយអិន និងសម្ងាត់ក្លាយអិនរបស់ក្លាយអិន OAuth មួយ។ បណ្ណាល័យធ្វើការងារដែលនៅសល់។ វាមិនដែលសុំតូខិនចូលប្រើពីអ្នកទេ។

អ្វីដែលបណ្ណាល័យធ្វើជំនួសអ្នក

  • ការប្តូរតែមួយ ប្រើរួមគ្នា។ ការហៅដំបូងដែលត្រូវការតូខិន នឹងប្តូរព័ត៌មានសម្គាល់របស់អ្នកយកតូខិនមួយ។ ប្រសិនបើការហៅច្រើនចាប់ផ្តើមក្នុងពេលតែមួយ ពួកវាទាំងអស់រង់ចាំការប្តូរតែមួយនោះ ជាជាងម្នាក់ៗចាប់ផ្តើមការប្តូរផ្ទាល់ខ្លួន។
  • រក្សាទុកក្នុង cache រហូតដល់ជិតហួសសុពលភាព។ តូខិនត្រូវបានប្រើឡើងវិញរហូតដល់ 60 វិនាទីមុនពេលវាផុតកំណត់ បន្ទាប់មកត្រូវបានជំនួសនៅការហៅបន្ទាប់។ គ្មានអ្វីធ្វើឱ្យថ្មីនៅផ្ទៃខាងក្រោយទេ ដូច្នេះដំណើរការដែលនៅទំនេរមិនផ្ញើសំណើអ្វីឡើយ។
  • ការព្យាយាមឡើងវិញមួយដងលើ 401។ ប្រសិនបើ API បដិសេធតូខិនមួយ បណ្ណាល័យនឹងបំភ្លេចវា យកតូខិនថ្មីមួយ ហើយធ្វើការហៅម្តងទៀតមួយដង។ 401 លើកទីពីរត្រូវបានបោះចេញជាកំហុស API។
  • ការប្តូរដែលមានកំណត់ពេល។ សំណើតូខិនដែលមិនទទួលបានចម្លើយនឹងបរាជ័យបន្ទាប់ពី 30 វិនាទី ដូច្នេះចំណុចបញ្ចប់តូខិនដែលយឺតមិនអាចឃាត់អ្នកហៅទាំងអស់បានទេ។
  • គ្មានអ្វីលេចធ្លាយ។ សម្ងាត់ក្លាយអិន និងតូខិនចូលប្រើនីមួយៗ ត្រូវបានបោះពុម្ពជា [REDACTED] ក្នុងកំណត់ហេតុ លទ្ធផល debug និងសារកំហុស។

ប្រតិបត្តិការដែលមិនត្រូវការតូខិន ដូចជាការរាយបញ្ជីកំណែ API មិនដែលផ្ញើតូខិនទេ ដូច្នេះក្លាយអិនដែលបង្កើតដោយគ្មានព័ត៌មានសម្គាល់ នៅតែអាចហៅពួកវាបាន។

រក្សាសម្ងាត់នៅលើម៉ាស៊ីនមេរបស់អ្នក

សម្ងាត់ក្លាយអិនកំណត់អត្តសញ្ញាណកម្មវិធីរបស់អ្នក មិនមែនអ្នកប្រើប្រាស់របស់អ្នកទេ។ រក្សាវាទុកក្នុងការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេ ឬឃ្លាំងសម្ងាត់របស់អ្នក ហើយកុំបញ្ជូនវាទៅកម្មវិធីរុករក ឬកម្មវិធីទូរសព្ទឱ្យសោះ។

ភាសានៃឧទាហរណ៍កូដ

TypeScript

import { Lingara } from "@lingara/api";

const client = new Lingara({
  clientId: process.env.LINGARA_CLIENT_ID!,
  clientSecret: process.env.LINGARA_CLIENT_SECRET!,
});

Rust

use lingara::Client;

let client = Client::builder()
    .client_credentials(std::env::var("LINGARA_CLIENT_ID")?, std::env::var("LINGARA_CLIENT_SECRET")?)
    .build()?;

Go

import (
	"os"

	lingara "github.com/Spinning-Cat-Studios/lingara_api_clients/go"
)

client, err := lingara.New(
	lingara.WithClientCredentials(os.Getenv("LINGARA_CLIENT_ID"), os.Getenv("LINGARA_CLIENT_SECRET")),
)
if err != nil {
	return nil, err
}

Java

import com.getlingara.client.LingaraClient;

LingaraClient client =
    LingaraClient.builder()
        .clientCredentials(
            System.getenv("LINGARA_CLIENT_ID"), System.getenv("LINGARA_CLIENT_SECRET"))
        .build();

Kotlin

import com.getlingara.kotlin.LingaraClient

val client =
    LingaraClient {
        clientCredentials(System.getenv("LINGARA_CLIENT_ID"), System.getenv("LINGARA_CLIENT_SECRET"))
    }

Ruby

require "lingara"

client = Lingara::Client.new(client_id: client_id, client_secret: client_secret)

PHP

use Lingara\Client;

$client = new Client(clientId: $clientId, clientSecret: $clientSecret);

អ្វីដែលទំព័រនេះរុំ