ฉันได้ทำตามขั้นตอนใน Path API เกี่ยวกับวิธีตรวจสอบสิทธิ์ผู้ใช้แล้ว ในกระบวนการรับรองความถูกต้องของบทช่วยสอน ผู้ใช้จะเริ่มเปลี่ยนเส้นทางไปยัง URL ต่อไปนี้และแจ้งให้ให้สิทธิ์การเข้าถึง:
https://partner.path.com/oauth2/authenticate?response_type=code&client_id=THE_CLIENT_ID
หลังจากนั้นเซิร์ฟเวอร์จะตอบกลับเป็น รหัส การอนุญาตผ่านที่อยู่ URL (ฉันได้ดำเนินการขั้นตอนนี้เสร็จสิ้นและได้รับ รหัส)
ตามที่อธิบายไว้ในเอกสาร ควรแลกเปลี่ยนรหัสสำหรับโทเค็นการเข้าถึงโดยใช้ /oauth2/access_token ตราบใดที่มีรหัสลูกค้าและความลับของลูกค้า (รับ access_token)
แต่ฉันไม่รู้ว่าจะโพสต์ข้อมูลผ่าน cURL ไปยังเซิร์ฟเวอร์ได้อย่างไร ฉันได้ลองใช้ตัวเลือกและการผสมผสาน curl_setopt() มากมาย แต่ก็ยังไม่ได้ผลอะไรเลย
จากเอกสาร คำขอมีลักษณะดังนี้:
POST /oauth2/access_token HTTP/1.1
Host: partner.path.com
Content-Type: application/x-www-form-urlencoded
Content-Length: <LENGTH>
grant_type=authorization_code&client_id=CLIENT&client_secret=SECRET&code=CODE
และรูปแบบ cURL เช่นนี้:
curl -X POST \
-F 'grant_type=authorization_code' \
-F 'client_id=CLIENT_ID' \
-F 'client_secret=CLIENT_SECRET' \
-F 'code=CODE' \
https://partner.path.com/oauth2/access_token
และเซิร์ฟเวอร์จะให้คำตอบดังนี้:
HTTP/1.1 201 CREATED
Content-Type: application/json
Content-Length: <LENGTH>
{
"code": 201,
"type": "CREATED"
"reason": "Created",
"access_token": <ACCESS_TOKEN>,
"user_id": <USER_ID>,
}