Post запрос к API с OAuth - как правильно?

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Этот метод аутентификации используется много где.
Есть все ключи, Get запросы идут как положено, а вот с Post не понимаю как надо отправлять.
Стандартная функция
Код:
public static string HttpPost(
   string url,
   string content,
   string contentPostingType,
   string proxy,
   string Encoding,
   ResponceType respType,
   int Timeout,
   string Cookies,
   string UserAgent,
   bool UseRedirect,
   int MaxRedirectCount,
   string[] AdditionalHeaders
)
Все данные без исключения идут в content?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
То есть параметры с данными которые принимает скрипт надо в headers? А есть какой-то пример как это реализовать?
 

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Попробовал засунуть авторизацию в заголовки, авторизация проходит но подставить данные так и не удается. Любая попытка отправить дополнительные параметры хоть в заголовках, хоть в данных (сейчас делаю через кубик POST) приводит к тому что авторизация перестает проходить. Почему - я не понимаю.
При авторизации без дополнительных параметров приходит ответ "Post cannot be empty", по этому я понимаю что просто неправильно передаю данные. Второй день сижу над этим не могу понять что не так.
Буду рад любой помощи,
Вот пример как делают на php через curl:
https://gist.github.com/codingjester/1649885

Мне это надо воспроизвести грубо говоря.
 
Последнее редактирование:

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Вот так чтобы понятнее было, вкратце.
Формируются заголовки и параметры:
Код:
$headers = array("Host" => "http://api.tumblr.com/", "Content-type" => "application/x-www-form-urlencoded", "Expect" => "");
$params = array("data" => array(file_get_contents("/path/to/file"), file_get_contents("/path/to/file")),
"type" => "photo");
Потом их добавили в запрос.
Заголовки:
Код:
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Authorization: " . $headers['Authorization'],
    "Content-type: " . $headers["Content-type"],
    "Expect: ")
);
И параметры:
Код:
$params = http_build_query($params);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
Заголовки в кубике POST работают нормально.
А что делать с параметрами? Как их там правильно засунуть?
 

Шива

Client
Регистрация
05.02.2018
Сообщения
1 088
Благодарностей
341
Баллы
83
Разобрались?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)