Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用WordPress将视频上传到YouTube_Jquery_Wordpress_Api_Youtube - Fatal编程技术网

Jquery 使用WordPress将视频上传到YouTube

Jquery 使用WordPress将视频上传到YouTube,jquery,wordpress,api,youtube,Jquery,Wordpress,Api,Youtube,我想允许我的网站访问者直接从我的WordPress网站前端上传视频到我的YouTube频道 我尝试过使用PHPAPI,但我无法完成任务,可能是因为我还是PHP编码的初学者。然而,我听说jQuery只需几个步骤就可以完成这项任务,我确实检查了YouTube API的文档,但没有意识到如何做到这一点 这表明我可以使用jQuery的帖子将视频上传到YouTube,那么这是否意味着我可以使用以下内容: jQuery.ajax({ type: "POST", url:"ht

我想允许我的网站访问者直接从我的WordPress网站前端上传视频到我的YouTube频道

我尝试过使用PHPAPI,但我无法完成任务,可能是因为我还是PHP编码的初学者。然而,我听说jQuery只需几个步骤就可以完成这项任务,我确实检查了YouTube API的文档,但没有意识到如何做到这一点

这表明我可以使用jQuery的帖子将视频上传到YouTube,那么这是否意味着我可以使用以下内容:

jQuery.ajax({
        type: "POST",
        url:"http://uploads.gdata.youtube.com/feeds/api/users/<youtube_username>/uploads",
        data:'URL-TO-VIDEO-FILE',
        success: ....
jQuery.ajax({
类型:“POST”,
url:“http://uploads.gdata.youtube.com/feeds/api/users//uploads",
数据:'URL-TO-VIDEO-FILE',
成功:。。。。

谢谢

我用我在网上找到的一个库为我的wordpress网站做了这件事(http://i-x.it/REJ6EN).通过谷歌搜索,你应该可以直接将视频发送到youtube

<?php
    $youtube_email = ""; // Change this to your youtube sign in email.
    $youtube_password = ""; // Change this to your youtube sign in password.
    // Developer key: Get your key here: http://code.google.com/apis/youtube/dashboard/.
    $key = ""; 

    $source = 'BarBeachTV'; // A short string that identifies your application for logging purposes.
    $postdata = "Email=".$youtube_email."&Passwd=".$youtube_password."&service=youtube&source=" . $source;
    $curl = curl_init( "https://www.google.com/youtube/accounts/ClientLogin" );
    curl_setopt( $curl, CURLOPT_HEADER, "Content-Type:application/x-www-form-urlencoded" );
    curl_setopt( $curl, CURLOPT_POST, 1 );
    curl_setopt( $curl, CURLOPT_POSTFIELDS, $postdata );
    curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 0 );
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, 1 );
    $response = curl_exec( $curl );
    curl_close( $curl );

    list( $auth, $youtubeuser ) = explode( "\n", $response );
    list( $authlabel, $authvalue ) = array_map( "trim", explode( "=", $auth ) );
    list( $youtubeuserlabel, $youtubeuservalue ) = array_map( "trim", explode( "=", $youtubeuser ) );

    $youtube_video_title = $video_title; // This is the uploading video title.
    $youtube_video_description = $video_description; // This is the uploading video description.   
    $youtube_video_keywords = 'BarBeachTV'; // This is the uploading video keywords.
    $youtube_video_category = 'Entertainment'; // This is the uploading video category. There are only certain categories that are accepted. See below 
    /* 
     * Accepted Categories:
     * 
        Film
        Autos
        Music
        Animals
        Sports
        Travel
        Shortmov
        Games
        Videblog
        People
        Comedy
        Entertainment
        News
        Howto
        Education
        Tech
        Nonprofit
        Movies
        Movies_anime_action
        Movies_action_adventure
        Movies_classics
        Movies_comedy
        Movies_documentary
        Moves_drama
        Movies_family
        Movies_foreign
        Movies_horror
        Movies_sci_fi_fantasy
        Movies_thriller
        Movies_shorts
        Shows
        Trailers
     */

    $data = '<?xml version="1.0"?>
                <entry xmlns="http://www.w3.org/2005/Atom"
                  xmlns:media="http://search.yahoo.com/mrss/"
                  xmlns:yt="http://gdata.youtube.com/schemas/2007">
                  <media:group>
                    <media:title type="plain">' . stripslashes( $youtube_video_title ) . '</media:title>
                    <media:description type="plain">' . stripslashes( $youtube_video_description ) . '</media:description>
                    <media:category
                      scheme="http://gdata.youtube.com/schemas/2007/categories.cat">'.$youtube_video_category.'</media:category>
                    <media:keywords>'.$youtube_video_keywords.'</media:keywords>
                  </media:group>
                </entry>';

    $headers = array( "Authorization: GoogleLogin auth=".$authvalue,
                 "GData-Version: 2",
                 "X-GData-Key: key=".$key,
                 "Content-length: ".strlen( $data ),
                 "Content-Type: application/atom+xml; charset=UTF-8" );

$curl = curl_init( "http://gdata.youtube.com/action/GetUploadToken");
curl_setopt( $curl, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"] );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_TIMEOUT, 10 );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $curl, CURLOPT_POST, 1 );
curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt( $curl, CURLOPT_HTTPHEADER, $headers );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $data );
curl_setopt( $curl, CURLOPT_REFERER, true );
curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt( $curl, CURLOPT_HEADER, 0 );

$response = simplexml_load_string( curl_exec( $curl ) );
curl_close( $curl );
?>