服务器没有从twitter检索GET状态/ user_timeline信息

时间:2012-07-01 13:05:06

标签: twitter feeds timeline

我正在尝试创建一个简单的小部件来检索用户供稿,我已完全设置我的应用程序以使用Twitter的API的OAuth功能。

我遇到的问题是当我尝试检索用户推文并将其再次写入文本文件时。 我这样做的代码如下

    <?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应用程序

任何帮助和想法将不胜感激

1 个答案:

答案 0 :(得分:0)

请与您的主机核实 - 出于安全原因,他们几乎肯定不允许使用file_get_contents。

您的选择

  1. 要求他们通过编辑php.ini到allow_url_fopen
  2. 来启用它
  3. 使用cURL拨打电话
  4. 这是在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);