Filter Location and 406 error happens randomly


#1

Recently I was told that Tweetinvi got an exception 406 returned from Twitter when performing a Location Filter on the Public Filtered Stream.

Most of my tests were based on locations longitude and latitude based in the US as well as the location given in Twitter documentation example (https://dev.twitter.com/docs/streaming-apis/parameters#locations). All the examples provided on Twitter work fine.

A user reported that for some longitude and latitude the API returned the 406 error code which I investigate and effectively depending on the coordinates the user gave.

Example 1 working:
var topLeft = new Coordinates(-122.75, 36.8);
var bottomRight = new Coordinates(-121.75, 37.8);

Example 2 not working:
var topLeft = new Coordinates(-89.673157,21.056948);
var bottomRight = new Coordinates(-89.695645, 20.899185);

I used the OAuth tool to verify that my parameters were well generated and the query was exactly the same (but nonce, timestamp and signature of course).
Would someone from twitter tell me what is going wrong here please?

Here is the WebRequest generated by Tweetinvi :

URL :

https://stream.twitter.com/1.1/statuses/filter.json?&locations=-89.673157%2C21.056948%2C-89.695645%2C20.899185

Signature Base String :

POST&https%3A%2F%2Fstream.twitter.com%2F1.1%2Fstatuses%2Ffilter.json&
locations%3D-74%252C40%252C-73%252C41%26
oauth_consumer_key%3D[MY_KEY]%26
oauth_nonce%3D7614068%26
oauth_signature_method%3DHMAC-SHA1%26
oauth_timestamp%3D1381022993%26
oauth_token%3D[MY_TOKEN]%26
oauth_version%3D1.0

I looked on other posts and effectively my location parameters are formatted with %252C for the signature and %2C for the URL.

Please help :slight_smile: