Re: [twitter-dev] XML feed not loading as before - PHP

2010-07-07 Thread Matt Harris
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 -
http://api.twitter.com/1/statuses/user_timeline/britishabroad.xml
(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.
  http://dev.twitter.com/pages/libraries

Hope that helps,
Matt

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
http://twitter.com/themattharris


Re: [twitter-dev] XML feed not loading as before - PHP

2010-07-06 Thread Taylor Singletary
Hi Colin,

You're missing the api subdomain and version 1.. this should work for you
instead:

http://api.twitter.com/1/statuses/user_timeline/britishabroad.xml?count=1

Taylor

On Tue, Jul 6, 2010 at 8:18 AM, colin@digital.fco.gov.uk 
colin@digital.fco.gov.uk wrote:

 With the following feed/script:

 $twitter_url = http://twitter.com/statuses/user_timeline/
 britishabroad.xml?count=1;

 $buffer = file_get_contents($twitter_url);
 $xml = new SimpleXMLElement($buffer);

 $status_item = $xml - status;
 $status =  $status_item - text;

 echo $status;

 Nothing is being returned.

 Initally it had been working with simplexml_load_file but now
 everything has stopped.  It is working on my local environment, but as
 soon as the file is tested on the server, nothing is working.

 I have tested this with different XMLs and they're fine.

 The error showing is:

 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

 I have google this and it seems suggest this is a twitter error?

 Thanks in advance