Как я использую OAuth с PHP и ЗАВИХРЕНИЕМ?

Я пытаюсь аутентифицировать в YouTube через их API Данных и просто должен знать, как заголовки должны быть переведены из своего примера (ниже) к вызовам функции PHP+CURL. Причем запутывающая часть является частью Авторизации, которая повреждает имя/значение, соединяющееся с его собственным набором пар значения и имени.

Эта документация - все хорошо и хороший кроме, я не знаю, как отформатировать то, чего они требуют в заголовках.

Их пример:

POST /accounts/OAuthGetRequestToken HTTP/1.1
Host: https://www.google.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth
               oauth_consumer_key="example.com",
               oauth_signature_method="RSA-SHA1",
               oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
               oauth_timestamp="137131200",
               oauth_nonce="4572616e48616d6d65724c61686176",
               oauth_version="1.0"
scope=http://gdata.youtube.com

Это не должно быть необычно, я просто должен сделать ключевой обмен для одной учетной записи, таким образом, я могу загрузить видео автоматически. Я просто не знаю, как отформатировать объекты Авторизации в массив заголовков для моего

curl_setopt($ch, CURLOPT_HEADER, $headers);

Справка?

13
задан Trevor Bramble 6 October 2009 в 15:30
поделиться

1 ответ

Раньше я не использовал API-интерфейс YouTube, но я создал свой собственный API-интерфейс REST с использованием OAuth для веб-приложения.

заголовок должен быть: application / x-www-form-urlencoded и, как сказано в примере, такие параметры, как oauth_consumer_key, oauth_signature_method, oauth_signature и т. д., должны быть отправлены с помощью сообщения, поэтому вам нужно указать это так:

        $header[]         = 'Content-Type: application/x-www-form-urlencoded';

            curl_setopt($ch, CURLOPT_HTTPHEADER,     $header);
            curl_setopt($ch, CURLOPT_POST,        true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode("oauth_consumer_key=example.com&
           oauth_signature_method=RSA-SHA1&
           oauth_signature=wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D&
           oauth_timestamp=137131200&
           oauth_nonce=4572616e48616d6d65724c61686176&
           oauth_version=1.0"));

Надеюсь, это поможет: D

С уважением.

18
ответ дан 1 December 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: