2017-02-22 45 views
1

В настоящее время я не могу понять, как получить мой долгоживущий токен доступа, чтобы я мог создать фид данных API от Survey Monkey до Alteryx.Survey Monkey API-To Long Lived Access Token

До сих пор я был в состоянии:

1) Перейти на страницу OAuth https: //api.surveymonkey.net/oauth/authorize redirect_uri = https: //? Www.surveymonkey.com & client_id = [MY-КЛИЕНТ-ID] & response_type = код

2) Аутентифицировать доступ (Я не робот: рекапчите)

3) Получить ответ аутентификации с недолговечным кодом HTTPS:// WWW. surveymonkey.com/home/?code=[CODE-FROM-RESPONSE]

4) застряло

От: https://developer.surveymonkey.com/docs/guides/oauth-guide/

Чтобы сделать обмен, просто создать форму с кодировкой (контент- Тип: application/x-www-form-urlencoded) HTTP POST-запрос до https://api.surveymonkey.net/oauth/token?api_key=YOUR_API_KEY со следующими полями закодированной формы: client_secret, code, redirect_uri и grant_type. Тип гранта должен быть установлен в «authorization_code».

Это не «просто» для меня, и я бы очень благодарен за выражение, поэтому я могу ввести его в свой браузер, чтобы получить мой долгоживущий токен доступа.

Конечная цель заключается в том, что я использую Alteryx для получения данных Survey Monkey через API и создания смешанного набора данных с дополнительными системными данными. Затем объединенный набор данных будет подавать панель мониторинга Tableau. Я уверен, что это длинный выстрел, но если у кого-то есть рабочий процесс Alteryx для Survey Monkey API, который бы сразу разрешил все мои проблемы.

Благодарим вас за понимание и руководство.

С благодарностью, Дрю

(Примечание- я добавил пробелы в несколько ссылок, так как у меня нет 10 очков репутации, однако).

ответ

1

Существует пример запроса cURL на стороне документов here. Вам необходимо сделать запрос POST на номер /oauth/token. Это будет выглядеть примерно так:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'code=<code>&client_id=<client_id>&client_secret=<client_secret>&redirect_uri=<redirect_uri>&grant_type=authorization_code' "https://api.surveymonkey.net/oauth/token" 

Заполнение значений в <>. Или в Python, что-то, как это должно работать:

import requests 

url = "https://api.surveymonkey.net/oauth/token" 

payload = { 
    "code": "<code>", 
    "client_id": "<client_id>", 
    "client_secret": "<client_secret>", 
    "redirect_uri": "<redirect_uri>", 
    "grant_type": "authorization_code" 
} 

headers = { 
    'content-type': "application/x-www-form-urlencoded" 
} 

response = requests.request("POST", url, data=payload, headers=headers) 

Я уверен, что библиотека запросы автоматически преобразует тело в правильный тип, но если не полезная нагрузка выглядит как URL Params:

payload = "code=<code>&client_id=<client_id>&client_secret=<client_secret>&redirect_uri=<redirect_uri>&grant_type=authorization_code" 

По сути, вам просто нужно сделать запрос POST на /oauth/token с предоставленной выше информацией (code, client_id, client_secret, redirect_uri и grant_type). Основная запутанная часть - вы не можете отправить тело JSON, это должно быть тело формы, которое выглядит как мой пример выше.

Надеюсь, что помогает.

+0

Благодарим за внимание! Это, безусловно, помогает. –

1

Вы должны быть в состоянии принять ответ, который предоставил генерал Кандалафт, и ввести каждый из них в Инструмент загрузки в Alteryx. Создайте поле для каждого идентификатора клиента, секретности клиента, кода, redirect_uri & grant_type и затем отметьте эти поля на вкладке «Полезная нагрузка».

Установите действие HTTP на POST на той же вкладке.

Также есть примеры процессов Oauth в сообществе и галерее Alteryx.

В общем случае при конвертации запросов cURL в Инструмент загрузки -d/-F будет вкладкой полезной нагрузки и -H, конечно, будет вкладкой Заголовки. форма закодированная и т. д., как правило, уже правильна и ее нужно добавлять/изменять очень редко.

В качестве другого примечания, если вы не можете понять преобразование запроса cURL, или это сложнее (например, прикрепление файла PEM к вызову), вы найдете копию cURL в каталоге установки Alteryx, и вы можно использовать Run Command Tool для его запуска.

Kane

+0

Спасибо KaneG- решил эту проблему! –