{"action":"opened","issue":{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/95","labels_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/95/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/95/comments","events_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/95/events","html_url":"https://github.com/chrsmith/google-api-java-client/issues/95","id":59374150,"number":95,"title":"URL form encoded parameters in POST requests are ignored by sign","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Component-Auth","name":"Component-Auth","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Milestone-Version1.5.0","name":"Milestone-Version1.5.0","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Priority-Medium","name":"Priority-Medium","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-01T03:17:59Z","updated_at":"2015-03-01T03:17:59Z","closed_at":null,"body":"```\nVersion of google-api-java-client (e.g. 1.2.1-alpha)?\n1.2.1-alpha (but looking at the source it's still there in the trunk)\n\nJava environment (e.g. Java 6, Android 2.2, App Engine 1.3.7)?\nAppEngine 1.4.0\n\nDescribe the problem.\nForm encoded POST parameters are part of the signature base string and must be \nsigned.  Looking at OAuthAuthorizationHeaderIntercepter it is clear that the \ninterceptor does not do this: it simply passes request method and URL to the \nOAuthParameters object.  Consequently, the computed signature is wrong and the \nPOST request fails.\nThis comes up when, e.g. tweeting using the Twitter API:  their API expects a \nform encoded \"status\" parameter. GET requests using the \nOAuthAuthorizationHeaderIntercepter work fine.\n\nHow would you expect it to be fixed?\nOne possible fix would be to provide a second OAuthParameters#computeSignature \nthat accepts a collection of additional parameters that form part of the \nsignature base string.  The OAuthAuthorizationHeaderIntercepter could then \ncheck the HttpRequest's method and in the case of a form encoded POST request \npass the additional parameters to the #computeSignature method.\n\n```\n\nOriginal issue reported on code.google.com by `mathias.kegelmann` on 5 Jan 2011 at 7:15"}}