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

  • Автор темы Автор темы eagleowl
  • Дата начала Дата начала

eagleowl

Client
Регистрация
03.11.2012
Сообщения
264
Реакции
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?
 
То есть параметры с данными которые принимает скрипт надо в headers? А есть какой-то пример как это реализовать?
 
Попробовал засунуть авторизацию в заголовки, авторизация проходит но подставить данные так и не удается. Любая попытка отправить дополнительные параметры хоть в заголовках, хоть в данных (сейчас делаю через кубик POST) приводит к тому что авторизация перестает проходить. Почему - я не понимаю.
При авторизации без дополнительных параметров приходит ответ "Post cannot be empty", по этому я понимаю что просто неправильно передаю данные. Второй день сижу над этим не могу понять что не так.
Буду рад любой помощи,
Вот пример как делают на php через curl:
https://gist.github.com/codingjester/1649885

Мне это надо воспроизвести грубо говоря.
 
Последнее редактирование:
Вот так чтобы понятнее было, вкратце.
Формируются заголовки и параметры:
Код:
Развернуть Свернуть Копировать
$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 работают нормально.
А что делать с параметрами? Как их там правильно засунуть?
 
Разобрались?
 

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