2017-01-07 6 views
0

私はTwitterクライアントをビルドしていますが、プログラムを実行しようとするとこのエラーメッセージが表示されます。私はそれをローカルで実行すると、サーバーと何か関係があるようです。私はPHPをインストールしました。私はIDEとしてAptanaを使用しています。どうした?Twitter APIを使用したPHPループエラーメッセージ

$url = "https://api.twitter.com/1.1/statuses/user_timeline.json"; 
$requestMethod = "GET"; 
if (isset($_GET['user'])) {$user = $_GET['user'];} else {$user = "hello";} 
if (isset($_GET['count'])) {$count = $_GET['count'];} else {$count = 20;}  
$getfield = '?screen_name=hello&count=20'; 
$twitter = new TwitterAPIExchange($settings); 
$string = json_decode(
    $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(), $assoc = TRUE 
); 

if($string["errors"][0]["message"] != "") { 
    echo "<h3>Sorry, there was a problem.</h3><p>Twitter returned the following error message:</p><p><em>" . $string[errors][0]["message"] . "</em></p>"; 
    exit(); 
} 

foreach($string as $items) { 
    echo "Time and Date of Tweet: ".$items['created_at']."<br />"; 
    echo "Tweet: ". $items['text']."<br />"; 
    echo "Tweeted by: ". $items['user']['name']."<br />"; 
    echo "Screen name: ". $items['user']['screen_name']."<br />"; 
    echo "Followers: ". $items['user']['followers_count']."<br />"; 
    echo "Friends: ". $items['user']['friends_count']."<br />"; 
    echo "Listed: ". $items['user']['listed_count']."<br /><hr />"; 
} 
?> 

エラーメッセージ:ビューソース形式で

Sorry, there was a problem. 

Twitter returned the following error message: 

".$string[errors][0]["message"]. " 
";exit();} foreach($string as $items) { echo "Time and Date of Tweet: ".$items['created_at']." 
"; echo "Tweet: ". $items['text']." 
"; echo "Tweeted by: ". $items['user']['name']." 
"; echo "Screen name: ". $items['user']['screen_name']." 
"; echo "Followers: ". $items['user']['followers_count']." 
"; echo "Friends: ". $items['user']['friends_count']." 
"; echo "Listed: ". $items['user']['listed_count']." 

エラーメッセージ:ソウ "<?を":

<?php 
require_once('TwitterAPIExchange.php"); 
$settings = array(
'oauth_access...  
); 
$url = "https://api.twitter.com/1.1/statuses/user_timeline.json"; 
$requestMethod = "GET"; 
if (isset($_GET['user'])) {$user = $_GET['user'];} else {$user = "iagdotme";} 
if (isset($_GET['count'])) {$count = $_GET['count'];} else {$count = 20;} 
$getfield = '?screen_name=iagdotme&count=20'; 
$twitter = new TwitterAPIExchange($settings); 
$string = json_decode($twitter->setGetfield($getfield) 
->buildOauth($url, $requestMethod) 
->performRequest(),$assoc = TRUE); 
if($string["errors"][0]["message"] != "") {echo "<h3>Sorry, there was a problem.</h3> 
<p>Twitter returned the following error message:</p><p><em>".$string[errors][0]["message"]. 
"</em></p>";exit();} 
foreach($string as $items) 
    { 
     echo "Time and Date of Tweet: ".$items['created_at']."<br />"; 
     echo "Tweet: ". $items['text']."<br />"; 
     echo "Tweeted by: ". $items['user']['name']."<br />"; 
     echo "Screen name: ". $items['user']['screen_name']."<br />"; 
     echo "Followers: ". $items['user']['followers_count']."<br />"; 
     echo "Friends: ". $items['user']['friends_count']."<br />"; 
     echo "Listed: ". $items['user']['listed_count']."<br /><hr />"; 
    } 
?> 

言いノートがあります。考えられる原因:HTMLでXML処理命令を使用しようとしました。 (XML処理命令は、HTMLではサポートされていません。)

は、ここで私は、次の午前のチュートリアルです:あなたのエラーメッセージに基づいてhttps://iag.me/socialmedia/build-your-first-twitter-app-using-php-in-8-easy-steps/

+0

$ string [エラー] [0] ["message"] – fie

+0

引用エラーを表示しよう...あなたが投稿したエラーメッセージは意味をなさない。 – fie

+1

ここでAPIの応答をvar_dumpできますか? – anwerj

答えて

3

は、あなたのPHPコードがまったく実行されません。これは、PHPコードのプレーンなHTML出力です。

ここで問題になるのは、PHPを解釈するためにWebサーバー(Apache、nginxなど)を構成するか、PHPコードの前に見つからない開始タグ(<?php)を追加することです。

+0

おそらく開始タグがありません<?php – fie

+0

これは確かに別の可能性です。私は自分の投稿を編集する。 – fpietka

+0

開閉タグがあります – user1925801

0

私はTwitterのAPIにアクセスするために別の方法を使用しますが、ユーザーのタイムラインではなくユーザーIDのみを要求するように見えます。それは次のようになりますので、URLを変更します。

$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; 
$getfield = '?screen_name=J7mbo'; 
$requestMethod = 'GET'; 

$twitter = new TwitterAPIExchange($settings); 
echo $twitter->setGetfield($getfield) 
    ->buildOauth($url, $requestMethod) 
    ->performRequest(); 
0

PHPを実行すると、私がアクセスできるサーバで実行することができました。 これを行うには、TwitterAPIExchange.phpと提出したPHPが必要でした。 は、以下の二重引用符に注意してください(に

$getfield = '?screen_name=iagdotme&count=20'; 

を変更することは正しく ともエラーを返すことができるように、私はあなたが

$string["errors"][0]["message"] 

$string[errors][0]["message"] 

を変更示唆することを言いましたそれらは重要です)

$getfield = "?screen_name=$user&count=$count"; 

を使用して、前述の変数を実際に使用します。

問題はおそらくPCでファイルを実行していることにあります。私はウェブホスティングプロバイダを見つけることをお勧めします。

関連する問題