2012-07-01 101 views
0

我試圖創建一個簡單的小部件來檢索用戶提要,我已經完全設置我的應用程序與@anywhere一起使用twitter的API的OAuth功能。服務器不從twitter獲取狀態/ user_timeline信息

我遇到的問題是當我嘗試檢索用戶推文並將它們再次寫入文本文件。 我這樣做的代碼,以便爲如下

<?php 

    $cache = dirname(__FILE__) . '/../cache/twitter-json.txt'; 
    $data = file_get_contents('http://api.twitter.com/1/statuses/user_timeline/screen_name.json?count=3&include_rts=true&include_entities=true'); 

    $cachefile = fopen($cache, 'wb'); 
     fwrite($cachefile,utf8_encode($data)); 
     fclose($cachefile); 
?> 

還好現在這個代碼的偉大工程,當我在本地運行應用程序,但形成某種原因,當我把它部署到服務器時,它不起作用。 它在服務器上創建緩存文件,並添加任何測試數據以檢查文件寫入過程是否正常。

我還沒有建立它是由我只是用ftp外部公司經營我自己的服務器命令來部署Web應用程序

任何幫助和想法,將不勝感激

回答

0

與檢查您的主機 - 出於安全原因,它們幾乎肯定不允許使用file_get_contents。

您的選項是

  1. 讓他們通過修改php.ini中,以使其能夠於allow_url_fopen
  2. 使用cURL撥打電話

這裏是在PHP

使用curl一個基本的例子
$url = "http://api.twitter.com/1/statuses/user_timeline/screen_name.json?count=3&include_rts=true&include_entities=true" 
$curl_handle=curl_init(); 
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($curl_handle,CURLOPT_URL,$url); 
$data = curl_exec($curl_handle); 
curl_close($curl_handle); 
+0

謝謝我在檢查任何答案之前就已經這樣做了 <?php $ url ='http://api.twitter.com/1/statuses/user_timeline/DOKTRINE.json?count=3&include_rts=true&include_entities=true'; $ path ='../cache/twitter-json.txt'; $ ch = curl_init($ url); curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true); $ data = curl_exec($ ch); curl_close($ ch); file_put_contents($ path,$ data); ?> –