$ch = curl_init();
$clientId = [หมายเลข Client];
$clientSecret = 'xxxxxxxxxx';
$user = 'xxxxxxx@email.com';
$pwd = 'xxxxxxx';
$params = [
'grant_type' => 'password',
'client_id' => $clientId,
'client_secret' => $clientSecret,
'username' => $user,
'password' => $pwd,
];

/* Uncomment to turn off verify certificate */
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_URL,"https://login.bentoweb.com/oauth/token");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch));
curl_close ($ch);

ค่าที่ได้รับกลับมา

{
+"token_type": "Bearer"
+"expires_in": 1296000
+"access_token": "xxxxxxx"
+"refresh_token": "xxxxxxx"
}

ให้นำค่า access_token ไปใช้ยิงเพื่อรับส่งข้อมูลในครั้งต่อไป
expires_in คือระยะเวลาที่ access token นี้จะหมดอายุ มีหน่วยเป็นวินาที
refresh_token คือ token ที่ใช้ขอ access token ใหม่เมื่อใกล้หมดอายุ

ใช้ Refresh Token เพื่อขอ Token ใหม่ ให้เปลี่ยนค่า Parameter เป็น
$params = [
'grant_type' => 'refresh_token',
'refresh_token' => 'refresh token ที่เคยได้รับ',
'client_id' => $clientId,
'client_secret' => $clientSecret,
];

Token มีอายุ 15 วัน
Refresh Token มีอายุ 30 วัน
บทความนี้เป็นประโยชน์หรือไม่?
ยกเลิก
ขอบคุณ!