Инструкция для проверки кода авторизации моей песочницы:
Если вы используете Mac, откройте терминал.При использовании Windows откройте сеанс PowerShell.
1. Обновите заголовок авторизации, заменив {{ACCESS_TOKEN}} на свой токен личного доступа в песочнице.
Обновите блок JSON по умолчанию в полезной нагрузке:команда:
Установите idempotency_key для любой уникальной строки, например, TESTKEY123.
Установите для source_id значение cnon: card-nonce-ok.
Скопируйте команду и вставьте ее в командную строку
Выполните команду
Пример кода, предоставленного квадратом:
$authHeader = @{ Authorization = 'Bearer {0}' -f "{{ACCESS_TOKEN}}" }
$body = '{
"idempotency_key": "{{UNIQUE-KEY}}",
"autocomplete": true,
"amount_money": {
"amount": 100,
"currency": "USD"
},
"source_id": "cnon:card-nonce-ok"
}
}'
Invoke-RestMethod -Uri https://connect.squareupsandbox.com/v2/payments |
-Method Post |
-ContentType "application/json" |
-Headers $authHeader |
-Body $body
Код просто не работает.Если я оставлю "|"в Invoke-RestMethod я получаю:
-Metod: термин '-Method' не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.В строке: 14 символов: 4 + -Метод Сообщение |+ ~~~~~~~ + CategoryInfo: ObjectNotFound: (-Method: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Если я возьму их, я получу:
Invoke-RestMethod: {"errors": [{"code": "UNAUTHORIZED", "detail": "Ваш запрос не содержит http-заголовок Authorization
с токеном доступа. Значение заголовка:ожидается, что он будет иметь формат \ "Bearer TOKEN \" (без кавычек), где TOKEN должен быть заменен вашим токеном доступа (например, \ "Bearer ABC123def456GHI789jkl0 \"). Для получения дополнительной информации см. https://docs.connect.squareup.com/api/connect/v2/#requestandresponseheaders. ЕслиВы видите это сообщение об ошибке при использовании одной из наших официально поддерживаемых клиентских библиотек, пожалуйста, сообщите об этом по адресу developers@squareup.com. "," category ":" AUTHENTICATION_ERROR "}]} В строке: 13 char: 1 + Invoke-RestMethod -Uri https://connect.squareupsandbox.com/v2/payment ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (System.Net.HttpWebRequest: HttpWebRequest) [Invoke-RestMethod],WebException + FullyQualifiedErrorId: WebCmdletWebResponseException, Microsoft.PowerShell.Commands.InvokeRestMethodCommand -Method: термин «-Method» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.В строке: 14 символов: 4 + -Method Post + ~~~~~~~ + CategoryInfo: ObjectNotFound: (-Method: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
-ContentType:Термин «-ContentType» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.В строке: 15 char: 4 + -ContentType "application / json" + ~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (-ContentType: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
-Headers: термин «-Headers» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.В строке: 16 символов: 4 + -Headers $ authHeader + ~~~~~~~~ + CategoryInfo: ObjectNotFound: (-Headers: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
-Body: TheТермин «-Body» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был включен, убедитесь, что путь правильный иПопробуйте еще раз.В строке: 17 символов: 4 + -Body $ body + ~~~~~ + CategoryInfo: ObjectNotFound: (-Body: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Чего мне не хватает?Вот код, который я добавляю в powershell.Я оставил авторизацию в «песочнице», чтобы ее можно было проверить позже.Спасибо за любую помощь, которую вы можете оказать