Hey Colin,

You want to make sure you are using CURL to read from the API otherwise you
loose all the header information we return. That being said, in your example
the stack trace error will be thrown if we return an error. This is because
you haven't checked that:

  $buffer !== FALSE;

If there is an error your $buffer variable will be false which
SimpleXMLElement cannot open.

You can quickly check this on the command line using:
  curl -D -
(the -D - means include headers in the output)

You may find it easier to interact with the Twitter API through one of our
community written libraries.

Hope that helps,

On Wed, Jul 7, 2010 at 2:42 AM, colin....@digital.fco.gov.uk <
colin....@digital.fco.gov.uk> wrote:

> $twitter_url = "http://api.twitter.com/1/statuses/user_timeline/
> britishabroad.xml";
> $buffer = file_get_contents($twitter_url);
> $xml = new SimpleXMLElement($buffer);
> $status_item = $xml -> status;
> $status =  $status_item -> text;
> echo $status;
> I am getting an error:
> Fatal error: Uncaught exception 'Exception' with message 'String could
> not be parsed as XML' in /home/bhammers/demophon/dashboard/test.php:5
> Stack trace: #0 /home/bhammers/demophon/dashboard/test.php(5):
> SimpleXMLElement->__construct('') #1 {main} thrown in /home/bhammers/
> demophon/dashboard/test.php on line 5
> Would appreciate any help.
> Thanks
> Colin


Matt Harris
Developer Advocate, Twitter

Reply via email to