1

YouTube のサーバーに POST リクエストを送信して、OAuth 経由で YouTube に動画を直接アップロードしたいだけです。

アクセス トークンと開発者キーを持っています。PHP から YouTube の gdata サーバーに POST リクエストを送信するにはどうすればよいですか?

送信したい POST リクエストはここにあります: Sending an Upload API Request

POST /feeds/api/users/default/uploads HTTP/1.1
Host: uploads.gdata.youtube.com
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=DEVELOPER_KEY
Slug: VIDEO_FILENAME
Content-Type: multipart/related; boundary="BOUNDARY_STRING"
Content-Length: CONTENT_LENGTH
Connection: close

--<boundary_string>
Content-Type: application/atom+xml; charset=UTF-8

API_XML_request
--BOUNDARY_STRING
Content-Type: VIDEO_CONTENT_TYPE
Content-Transfer-Encoding: binary

<Binary File Data>
--BOUNDARY_STRING--

以下の関数を試してみましたが、もっと似ていますが、上記の POST 要求の XML 部分を送信できません。

if (!function_exists('send_post_request'))
{
    function send_post_request($url, $data)
    {
        $context = stream_context_create(array('http' => array('method'  => 'POST',
                                                               'content' => http_build_query($data))));
        $result  = file_get_contents($url, FALSE, $context);
        return $result;
    }
}

cURLもやってみた!

4

0 に答える 0