themattharris / tmhOAuth

An OAuth 1.0A library written in PHP
Apache License 2.0
857 stars 335 forks source link

Could not authenticate with OAuth (II). #31

Closed crossplatformdev closed 12 years ago

crossplatformdev commented 12 years ago

Hi again Matt.

I keep using your library (it was easy with the code you provided; i almost had to do none reestructurement of the full program).

However, to the moment of thruth, fails at the same moment than the other library (so i suppose it could be a non related issue, but who knows...). I dumped the response['info'] variable and i got this:

{"error":"Could not authenticate with OAuth.","request":"\/1\/statuses\/update.json"}

array(22) { ["url"]=> string(46) "https://api.twitter.com/1/statuses/update.json" ["content_type"]=> string(31) "application/json; charset=utf-8" ["http_code"]=> int(401) ["header_size"]=> int(880) ["request_size"]=> int(520) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.98396) ["namelookup_time"]=> float(0.04196) ["connect_time"]=> float(0.243824) ["pretransfer_time"]=> float(0.751436) ["size_upload"]=> float(7) ["size_download"]=> float(100) ["speed_download"]=> float(101) ["speed_upload"]=> float(7) ["download_content_length"]=> float(100) ["upload_content_length"]=> float(0) ["starttransfer_time"]=> float(0.982842) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } ["requestheader"]=> string(513) "POST /1/statuses/update.json HTTP/1.1 User-Agent: ARbTot Host: api.twitter.com Accept: /_ Accept-Encoding: deflate, gzip Authorization: OAuth oauth_consumerkey="****", oauth_nonce="8deb6d0be9e8fcf8427d0535702c12ff", oauth_signature="CXTJgfaWljHCgugrRAhy3xUlmfw%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1330655558", oauthtoken="*****", oauth_version="1.0" Content-Length: 7 Content-Type: application/x-www-form-urlencoded " } string(0) "" 0

POSTED // This is supposed to happen when tweet is succesfull: write POSTED and the tweet:

RT @mowgdrums @cigarete_smoke @moon_glasses Esta claro, aunque yo soy mas de M. #llamadmerebeldesiquereis @ManuAlpuente LOOOOOOOOOL!!!

And this is the code belonging to that output:

<?php function tweet($string, $ckey, $csec){

/**

?>

So i got the error: {"error":"Could not authenticate with OAuth.","request":"\/1\/statuses\/update.json"}

Hope given enough debug info. Actually, with the other library (twitterOAuth) i had the same problem. It posted 3 spreads of ~ 100 tweets, then broke. Changed twitter account and made a new app. Double checked the keys and secrets. What i'm missing?

themattharris commented 12 years ago

In your example you are creating a new tmhOAuth object without the user_token and user_secret. These are required for the Twitter API to know who you are making requests on behalf of.

themattharris commented 12 years ago

Closing this as there's been no response to my comments for awhile. Feel free to comment any follow-up though.