I solved the problem. The problem was that even if the callback URL was sent correctly using the method or request headers, as you can see on the links, it was also double escaped when creating the signature from basestring. Since the documentation in this regard is pretty bad, I didn’t think you should double it, as well as other oauth_ * parameters (or percent coding "&" s).
source share