Hey, I went ahead and installed the stuff you pointed me to and came
out with this:

I think I got a valid request token, navigate your www client to:
https://twitter.com/oauth/authorize?oauth_token=xeyrI4NFyMFIXXl0FnpBHpBDzhRxgep93JZ1SOGjHg
Once you finish authorizing, hit ENTER or INTERRUPT to exit Grabbing
an access token... OAuthException Object ( [message:protected] =>
Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a
redirect) [string:private] => [code:protected] => 401 [file:protected]
=> /home/imj/public_html/test/a/updateStatus.php [line:protected] =>
25 [trace:private] => Array ( [0] => Array ( [file] => /home/imj/
public_html/test/a/updateStatus.php [line] => 25 [function] =>
getAccessToken [class] => OAuth [type] => ->  [args] => Array ( [0] =>
https://twitter.com/oauth/access_token ) ) ) [lastResponse] => )

I'm not too sure what it all means except that I realize i'm getting a
401 error, anyway to resolve this? Thanks for your help!

On May 30, 9:53 am, AlfredN <[email protected]> wrote:
> Hey, I ended up posting all of this stuff 
> here:http://code.google.com/p/twitter-api/issues/detail?id=629&colspec=ID%...
> This page also has the code I have written
>
> Alright, here's what I got & sent:
>
> 1. The error message you get back in the body of your response.
> (from print_r)
> Array ( [Failed_to_validate_oauth_signature_or_token] => )
>
> 2. The arguments you are passing into hash_hmac (be sure to obscure
> secrets)
> POST&http%3A%2F%2Ftwitter.com%2Fstatuses
> %2Fupdate.xml&oauth_consumer_key%3DWDylEN0TqSvtz82GOsA15Q%26oauth_nonce
> %3Da9e12be0541b3905237e949aaa6adf77%26oauth_signature_method%3DHMAC-
> SHA1%26oauth_timestamp%3D1243632597%26oauth_token%3D30383644-
> Mm358r44j3uZWFYg5S5alxY58zG0DNjYIjQA18UpE%26oauth_version%3D1.0
> The keys variables being passed:
> $key = encode($c['oauth_consumer_secret'])."&".encode($c
> ['oauth_token_secret']);
> (see the encode function above, it is short)
>
> 3. The headers and body for the actual request you sent
> Headers Sent (print_r output):
> Array ( [0] => Expect: [1] => Authorization: OAuth
> realm="/statuses/
> update.xml",oauth_consumer_key="WDylEN0TqSvtz82GOsA15Q",oauth_signature_method="HMAC-
> SHA1",oauth_version="1.0",oauth_nonce="d58ddfe633803392d4e52c6d123be7fb",oauth_timestamp="1243632798",oauth_token="",oauth_signature="gOS39H0gkV4tAlZU7y0GRXnlTiQ
> %3D"
> )
>
> Body
> $data['status'] = "I am just testing this!"; -which after turned into
> a query string is:
> status=I+am+just+testing+this%21
>
> =================================
>
> The other Oauth things I don't have on my server~ :/, i'm not actually
> using those for this; so i'm not sure how they will help me.
>
> Thanks!
>
> On May 30, 3:33 am, John Jawed <[email protected]> wrote:
>
> > What is the value of $query, $url and the Signature Base String?
>
> > On a related note, take a look at:
>
> >http://cvs.php.net/viewvc.cgi/pecl/oauth/examples/twitter/
>
> > You can call OAuth::enableDebug() and inspect debugInfo member which will
> > give you the in/out/sbs thereby allowing you to compare your results against
> > pecl/oauth (which works).
>
> >http://us2.php.net/manual/en/oauth.enabledebug.php
>
> > Regards,
> > John
>
> > On Fri, May 29, 2009 at 7:54 AM, AlfredN <[email protected]> wrote:
>
> > > Hi, I have written code for oauth for a dev i'm doing and i'm having
> > > problems actually posting updates to twitter via Oauth. I have tested
> > > code out with verify credentials and other GET methods and it works
> > > fine however it does not work when I use cURL POST methods in PHP. I
> > > get invalid token/signature error. Is anyone getting these types of
> > > problems specifically when posting status updates? Or is this just me?
> > > Also are there some things I should be doing? Here is my method for a
> > > POST call:
>
> > > function httpPost($url,$headers,$data){
> > >  $query = http_build_query($data);
>
> > >  $ch = curl_init();
> > >  curl_setopt($ch, CURLOPT_URL, $url);
> > >  curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
> > >  curl_setopt($ch, CURLOPT_POST, 1);
> > >  curl_setopt($ch, CURLOPT_POSTFIELDS, "{$query}");
> > >  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
>
> > >  $result = curl_exec($ch);
> > >  curl_close($ch);
>
> > >  return $result;
> > > }
>
> > > Thanks, I appreciate your help :]

Reply via email to