Я выполнил шаг на Path API о том, как аутентифицировать пользователя. В процессе аутентификации учебника пользователь начинает перенаправлять на следующий URL-адрес и запрашивать разрешение на доступ:
https://partner.path.com/oauth2/authenticate?response_type=code&client_id=THE_CLIENT_ID
И после этого сервер выдаст ответ в виде кода авторизации через URL-адрес (я выполнил этот шаг и получил код).
Как объясняется в документации, код следует обменять на токен доступа с использованием / oauth2 / access_token при условии, что идентификатор клиента и секрет клиента (получить access_token)
Но я понятия не имею, как отправлять данные POST через 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>,
}