I know that i should post on the Twitter gem group(and i have) but
that place is dead and also i think my problem is not with the gem but
understanding how the oauth and REST works. I could be looking down
the wrong path tho seeing as how i kinda feel like Alice down the
rabbit hole.

Everything dealing with lists works on the twitter gem but one thing
and that's "list_remove_user" which is using the DELETE list members
API.

Now when i use it as planned i get this error.

Twitter::RateLimitExceeded: (400): Bad Request - You must specify a
member

Which is the same error you get if you use the api via curl and leave
off the id

http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-DELETE-list-members

It has nothing to do with the rate limit. twitter gem just returns all
400's as a ratelimitexceded. There is no rate limit for adding and
removing list items and also my account is whitelisted.

Then i moved on and noticed that the delete method was only passing
the uri and header options meanwhile post and put had an extra body
option.

def perform_post
  send(:post, uri, options[:body], options[:headers])
end

def perform_delete
  send(:delete, uri, options[:headers])
end

>From that i assumed that the id that gets passed for the users id must
be inside of the options[:body] and that's why twitter was telling me
"You must specify a member"

When oauth gem creates the url's to query it does it like so and once
again they do not include "body"

def post(path, body = '', headers = {})
 request(:post, path, body, headers)
end

def delete(path, headers = {})
  request(:delete, path, headers)
end

But that all blows up when i add "body" to delete.

So after all of this i guess what I'm wondering is.. is there
something to do with oauth and REST that will not let you pass along
extra params and do i need to look into using a POST method and
passing _method=DELETE.

I have not tried that yet because i have no idea how to attempt that
in the confines of ruby using oauth. thanks for any help, this is
driving me nuts.

Mike.


Reply via email to