Как говорится в заголовке, у меня возникли проблемы с созданием подписанного HTTP-запроса для защищенного файла OAuth 1.0a. Я пытаюсь использовать метод file_get_contents для запроса, который хочет добавить заголовок авторизации, используя метод stream_context_create(). [Исходник ниже]Как добавить заголовок авторизации в HTTP-запрос с файлом_get_contents()?
$url = "https://rest.immobilienscout24.de/restapi/api/offer/v1.0/user/me/realestate";
$context = stream_context_create(array(
'http' => array(
'header' => "Authorization: OAuth
oauth_consumer_key = \"MY_KEY\”,
oauth_token = \"MY_TOKEN\"
oauth_signature_method= \"HMAC-SHA1\",
oauth_timestamp=\"TIMESTAMP\",
oauth_nonce=\"MY_NONCE\",
oauth_signature=\"MY_SIGNATURE\""
)
));
$data = file_get_contents($url, false, $context);
Это как запрос должен выглядеть
GET /api/file HTTP/1.1 Host: example.com
Authorization: OAuth oauth_consumer_key="KEY",
oauth_token="TOKEN",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="TIMESTAMP",
oauth_nonce="NONCE",
oauth_signature="SIGNATURE"
Проблема: Я всегда получаю следующую ошибку: не удалось открыть поток: HTTP запрос не удалось! HTTP/1.1 401 Несанкционирован в строке XX. Что я делаю неправильно? Создает ли он заголовок? Я знаю, что это может быть сделано с завитом также, но у меня буквально нет знаний или опыта использования завитка.
Благодарим за помощь!
Спасибо! Я должен предоставить их в заголовке авторизации. По-прежнему такая же ошибка. Есть ли возможность увидеть запрос, отправленный моим xampp-сервером? Может быть, я мог бы найти ошибку тогда ... – Philipp
Извините, я никогда не читал ранее спецификацию OAuth 1.0. Я не думал, что кто-то все еще использует OAuth1, но после краткого обзора я пересмотрел свой ответ, чтобы более точно ответить на ваши вопросы. Это характерно для OAuth1. Я просто ответил, как будто это был общий HTTP-вопрос. – Sherif
Еще раз спасибо! Я тестировал оба варианта. все та же ошибка. Могла ли я получить ту же ошибку, если бы мои Ключи и подпись были бы неправильными? – Philipp