Me too. Here’s the code snippet I use. See the part where I check for the encoding and wrap the stream in a GZip stream.
var oAuthWorkflow = new OAuthWorkflow
{
AccessTokenUrl = TwitterConstants.AccessTokenUrl,
ConsumerKey = EndpointData.TwitterConsumerKey,
ConsumerSecret = EndpointData.TwitterConsumerSecret,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
Version = TwitterConstants.OAuthVersion,
Token = OauthToken,
TokenSecret = OauthTokenSecret,
Verifier = verifyPin,
};
var info = oAuthWorkflow.BuildAccessTokenInfo(WebMethod.Post);
var oAuthWebQuery = CreateOAuthWebQuery(info);
oAuthWebQuery.QueryResponse += (s, e) =>
{
var stream = e.Response;
var webResponse = ((WebQuery)s).WebResponse;
if (webResponse != null)
{
// See if the encoding is GZip
if (webResponse.Headers[“Content-Encoding”] == “gzip”)
{
stream = new GZipInputStream(stream);
}
}
using (var reader = new StreamReader(stream, Encoding.UTF8))
{
var parameters = GetQueryParameters(reader.ReadToEnd());
AccessToken = parameters[“oauth_token”];
AccessTokenSecret = parameters[“oauth_token_secret”];
}
stream.Dispose();
};