2016-07-31 8 views
-2

私のAPIがどのように出力するのかYouTubeのビデオIDを取得する方法を知りました。私はソースコードではなく、ページの内容を取得したい。誰かがそれがどのように見えるかを確認したい場合は、ここではAPIのURLは次のとおりです。http://fnapi.cpt-design.tk/api.phpURLからページコンテンツを取得

このページでは、smarxで答えを使用することができ、同じドメインにある場合、私はこれまで

<?php $id = NULL; 
     $channel_id = 'UCd_09Tp1Bk05gDqc1RWyhuw'; 
     $xml = simplexml_load_file(sprintf('youtube.com/feeds/videos.xml?channel_id=%s';, $channel_id)); 
     if (!empty($xml->entry[0]->children('yt', true)->videoId[0])){ 
     $id = $xml->entry[0]->children('yt', true)->videoId[0]; 
     } 
     echo $id; 
?> 
+2

ようこそ!私たちはあなたが本当に探しているものの詳細(さらに深い説明、これまでのコード)を必要としています。 –

+0

@DavidGomes http://pastebin.com/iHvx3vJR これは私の唯一のコードです。私はこのIDをJQueryを使ってプリントアウトしたい。 –

答えて

0

これを持っています。

他のドメインのページコンテンツを取得したい場合。あなたはPHP => cURLの

How to get page content using cURL?

を使うべきか、それはあなたのドメインの場合は、あなたの応答を

<?php header("Access-Control-Allow-Origin: *"); ?> 

を送ることができます。同じドメイン上のページから

+0

JQuery:/ Not cURLを使用してページコンテンツを取得します。私はブラウザの拡張機能を作成しているので使用できません。 –

+0

あなたがyoutube.comのページコンテンツを取得したい場合は、javascriptを使用してページコンテンツを取得することはできません。 XSS保護。クロスサイトのコンテンツはjavascriptで読み取ることはできません。主要なブラウザはあなたにそれを許可しません。または、このAPIとそのドメインからYouTube動画IDを取得したい場合は、あなたの応答にallow-cross-originヘッダーを送信する必要があります – ArtemSky

+0

うん!それは私が欲しいものです!自分のページにアクセスしてコンテンツを取得したいYouTubeの動画IDのみです。そのヘッダーを送信してこのIDを取得する方法を知っていますか? –

0

、これは動作するはずです:

$.get('http://fnapi.cpt-design.tk/api.php').done(function (id) { 
    console.log(id); 
}); 

別のドメインから、あなたは最初のヘッダAccess-Control-Allow-Origin: *を追加することにより、CORSをサポートするためのAPIを変更する必要があります。 PHPで

が、これはあなたのコードの先頭に次の行を置くことを意味します:スタックオーバーフローへ

header("Access-Control-Allow-Origin: *"); 
+0

私はブラウザの拡張機能を作成しているので、別のドメインにあります。 –

+0

APIはCORSをサポートしていないため、別のドメインのJavaScriptから呼び出すことはできません。つまり、私は、ブラウザの拡張機能は、通常、クロスオリジンの要求をとにかく作ることができると思います...どのブラウザで拡張機能を書いていますか?このJavaScriptはバックグラウンドで実行されるページやコードに挿入されていますか?あなたは実際のコードを共有したいかもしれません。 – smarx

+0

私はOpera用の拡張機能を作成しています。 私の実際のコードは次のとおりです。http://pastebin.com/T7KSGqRb そして、はい、そのコードはバックグラウンドで実行されます。 –