13

Data API を介して YouTube に認証しようとしていますが、ヘッダーを例 (以下) から 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

これは特別なことである必要はありません。ビデオを自動的にアップロードできるように、1 つのアカウントのキー交換を行うだけで済みます。Authorization 項目をヘッダー配列にフォーマットする方法がわかりません。

curl_setopt($ch, CURLOPT_HEADER, $headers);

ヘルプ?

4

1 に答える 1

19

以前は YouTube API を使用したことがありませんでしたが、Web アプリ用に OAuth を使用して独自の REST API を作成しました。

ヘッダーは次のようにする必要があります: application/x-www-form-urlencoded 例が示すように、oauth_consumer_key、oauth_signature_method、oauth_signature などのパラメーターは、post を使用して送信する必要があるため、次のように配置する必要があります。

        $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

よろしく。

于 2010-06-19T21:10:50.703 に答える