PHPとcURLでClientLoginでYouTube APIを使用しています。YouTube APIクライアントログインで動画を削除
私はこのような要求を送信した:
DELETE /feeds/api/users/USERNAME/uploads/VIDEO_ID HTTP/1.1
Host: gdata.youtube.com
Content-Type: application/atom+xml
Authorization: GoogleLogin auth="AUTHORIZATION_TOKEN"
GData-Version: 2
X-GData-Key: key=DEVELOPER_KEY
私は応答として原子+ xml形式でそのビデオのすべての情報を得ました。
これは正しい応答ですか?
1時間後、この動画は削除されていません。
ClientLogin APIによるビデオ削除の具体例は見つかりませんでした。システムは11月前のClientLoginでimplemetedた
、2010年
は今、私は彼らが、この方法をお勧めしません、というYouTubeのAPIのヘルプで参照してください。 http://code.google.com/apis/youtube/2.0/developers_guide_protocol_clientlogin.html
誰でもこの問題をClientLoginメソッドで解決できますか?
ZendライブラリでClientLoginが正常に動作しています。
YouTube API ClientLoginのZendライブラリを掘り下げて、APIリクエストにstream_socket_clientを使用していることがわかりました。私が得る応答として
$context = stream_context_create();
$socket = stream_socket_client('tcp://gdata.youtube.com:80', $errno, $errstr, 10, 4, $context);
stream_set_timeout($socket, 10); // To set a timeout for reading/writing data over the socket
$request = "DELETE /feeds/users/".$_SESSION["youTubeUser"]."/uploads/".$videoId." HTTP/1.1".PHP_EOL."
Host: gdata.youtube.com".PHP_EOL."
Connection: close".PHP_EOL."
X-GData-Key: key=".DEVELOPER_KEY.PHP_EOL."
Authorization: GoogleLogin auth=".$authKey.PHP_EOL."
Accept-encoding: identity".PHP_EOL."
Content-Type: application/atom+xml".PHP_EOL."
Content-Length: 0".PHP_EOL.PHP_EOL;
fwrite($socket, $request);
while (($line = fgets($socket)) !== false) {
$gotStatus = $gotStatus || (strpos($line, 'HTTP') !== false);
if ($gotStatus) {
$rspns .= $line;
if (rtrim($line) === '') break;
}
}
echo $errno." => ".$errstr."<br />Response: ";var_dump($rspns); exit;
::私はここでコアコードを抽出しました
今HTTP/1.1 405 Method Not Allowed Content-Type: text/html; charset=UTF-8 Content-Length: 11858 Date: Fri, 22 Jul 2011 10:59:05 GMT Server: GFE/2.0
、誰が何をキャッチすることができますか..?