Невозможно обменять код для токена Salesforce Marketing Cloud - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь обменять Salesforce Marketing Cloud (SFM C) authorization_code на access_token для документов здесь: https://developer.salesforce.com/docs/atlas.en-us.mc-app-development.meta/mc-app-development/access-token-app.htm

curl https://{my_subdomain}.auth.marketingcloudapis.com/v2/token \
  --request POST  \
  --header "Content-Type: application/json" \
  --data '{"grant_type": "authorization_code", "code": "{{my_code}}", "client_id": "{{my_client_id}}", "redirect_uri": "https://127.0.0.1:80/", “client_secret: “{{my_client_secret}}”, "scope": "audiences_read list_and_subscribers_write offline"}'

Пока это постоянно дает мне следующую ошибку:

{"documentation":"https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm","errorcode":0,"message":"Bad Request"}%

Я понятия не имею, где я иду не так, любая помощь приветствуется.

Я видел "правильно" ошибки, когда я использовал просроченный code и когда мои client_id и / или client_secret были неправильными, но ничего после того, как я вставил правильные значения. Возможно, это мои возможности?

Согласно документам, указанным в коде ошибки, The token was not found in the request, or it is invalid or expired.. Это единственный код ошибки, который имеет customcode == 0. Это странно, поскольку я пытаюсь получить token, а не передать его, и этот код ошибки связан с 401, который может быть, а может и не быть тем, что я получаю обратно.

1 Ответ

0 голосов
/ 04 февраля 2020

Оказывается, мои client_secret в моих данных использовали неверную двойную кавычку. Это была наклонная двойная кавычка. Я обнаружил это, когда попытался использовать Python3 вместо cURL и преобразовывал мой JSON выше в JSON для передачи в библиотеку requests. Я смог успешно получить токен.

Итак, ответ такой: верное выше, просто следите за своими кодировками!

...