Well, seems that I need to join the club. Exactly the same error.
Everything is fine when calling request_token, receiving a callback and calling access_token - I am getting oauth_token and oauth_token_secret as expected.
Then I’m calling https://stream.twitter.com/1.1/statuses/filter.json?follow=14306768 (or ?track=twitterapi, doesn’t really matter) and get the dreaded error.
I’m using Drupal’s Feeds module with Feeds OAuth module (https://drupal.org/project/feeds_oauth) and php-proauth library (https://code.google.com/p/php-proauth/) if that matters.
Now, a funny thing - when I generate a cURL command using yours OAuth Tool and execute it in verbose mode this is how the conversation looks:
$ curl --request 'POST' 'https://stream.twitter.com/1.1/statuses/filter.json' --data 'follow=14306768' --header 'Authorization: OAuth oauth_consumer_key="xxxxx", oauth_nonce="xxxxx", oauth_signature="xxxxx", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1377980375", oauth_token="xxxxx", oauth_version="1.0"' --verbose
* About to connect() to stream.twitter.com port 443 (#0)
* Trying 199.16.156.110... connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using RC4-SHA
* Server certificate:
* subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; OU=Twitter Security; CN=stream.twitter.com
* start date: 2013-06-28 00:00:00 GMT
* expire date: 2013-12-31 23:59:59 GMT
* subjectAltName: stream.twitter.com matched
* issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa (c)10; CN=VeriSign Class 3 Secure Server CA - G3
* SSL certificate verify ok.
> POST /1.1/statuses/filter.json HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: stream.twitter.com
> Accept: */*
> Authorization: OAuth oauth_consumer_key="xxxxx", oauth_nonce="xxxxx", oauth_signature="xxxxx", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1377980375", oauth_token="xxxxx", oauth_version="1.0"
> Content-Length: 15
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 15out of 15 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json
< Transfer-Encoding: chunked
<
I’m getting only 3 headers from Twitter, no valid content at all, after which the execution does not stop, printing a new empty line every more or less 30 seconds - until I finally decide to kill it. It does not stop itself. Guess this is the reason why for example PHP cURL implementations time out.
Just in case tried ntpdate too, but the offset was marginal, so it shouldn’t be an issue here.
Hey Twitter, you might want to check how your moderation works. I’ve posted in this thread something like 48 hours ago, and it’s still not available…
I posted 5 days ago nothing changed 
Hosted on AWS (N. Virginia) tested for the past 2-3 hours (5 to 7am UTC) and getting the same error message: “Missing or invalid url parameter”.
$params = array();
$params[‘media[]’] = ‘@’.realpath($this->getTempLocalFile($url));
$params[‘status’] = $message;
$response = $this->post(‘statuses/update_with_media’, $params);
using https://github.com/abraham/twitteroauth
I can update “statuses/status” without any problem.
After discussion with Twitter Network Engineer it looks like the network problem is now fixed (at least for me). I’m not sure if they applied a global network fix, or a “testing” fix, so not sure if it’s permanent or not for now.
For those who have the “missing url” error, this is NOT related to this issue, and i don’t think it’ll get answered here.
I’ll wait maybe a good 48hrs before saying it’s officially fixed, but for now i’m able to post tweets with media at a very fast rate, so i’m happy with the solution.
Thanks Twitter,
episod
#66
Are you sure that the Streaming API is what you want to use in this case? That’s a continuous open connection which doesn’t seem right for what you might be trying to accomplish. What you describe sounds like normal behavior when you’re not parsing the live stream correctly. Typically with a Streaming API you actually want to separate the collection of data from the processing it.
episod
#67
Sorry, it was a holiday weekend in the United States. Content caught in a moderation queue is not reviewed until we’re open for business again.
I just want to verify that this problem I’ve been experiencing over a week (this is a wordpress plugin) is related.
code: 195
message: Missing or invalid url parameter
…is not related to changes in the API or incorrect coding, but is in fact a twitter issue that will be resolved?
I’m using the abraham API class too.
Thanks Taylor!
Not at all sure as it turned out, even more, that definitely wasn’t something I wanted to use. Oh well, my fault really, done it all too fast, only skimmed through the documentation instead of reading it properly, and even the name of “streaming” API didn’t ring a bell.
Anyway, even before realizing this I have switched to statuses/user_timeline and magically everything started to work, so I’m all fine now.
Thanks again!
episod
#70
The twitteroauth library appears incapable of correctly sending these requests without further modification – from what I’ve been able to gather, if it was working in the previous implementation it was merely by coincidence, not because the library was correctly formulating the request. You would need to modify that library to handle multi-part POSTs correctly in both the OAuth code and the HTTP request handling code.
Can you show an example ?
it is not library’s problem. Problem’s source is Twitter API now!
More than one week and still same thanks.
Hello, mine is not working, I am in GMT +7.
Thanks!
this twitter is suspicious…
more than 2 weeks.
Great support.
episod
#78
There are two issues conflated in this thread. One of them has been resolved.
The other issue was that some libraries, like the twitteroauth PHP library, may have worked in the past for statuses/update_with_media – but if it did, it was coincidental – not because someone coded the process according to proper multi-part HTTP requests and OAuth 1.0A.
twitteroauth will need modifications to correctly work with statuses/update_with_media. This link from ( http://stackoverflow.com/questions/11243612/does-abrahams-twitteroauth-library-work-for-update-with-media ) above points out some of the work that would have to be done to properly handle these requests.
Problem solved with codeBird library.
Thanks.
Yesterday I updated tmhOAuth library in my project from 0.8.2 to 0.8.3 but nothing changed. update_with_media method suddenly started to work again tonignt. Now it works fine both with tmhOAuth library and TwitterOAuth (Abraham’s) library (which was never updated in my project since very beginning).