アプリで Twitter を使用したいのですが、Hammock Windows DLL を使用して Twitter を使用しているので、残りのクライアントをこのように作成すると、
private void GetTwitterToken()
{
var credentials = new OAuthCredentials
{
Type = OAuthType.RequestToken,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ParameterHandling = OAuthParameterHandling.HttpAuthorizationHeader,
ConsumerKey = MyTwitter.ConsumerKey,
ConsumerSecret = MyTwitter.ConsumerSecret,
Version = MyTwitter.OAuthVersion,
CallbackUrl = MyTwitter.CallbackUri
};
/*
var client = new RestClient
{
Authority = "https://api.twitter.com/oauth",
Credentials = credentials,
HasElevatedPermissions = true
};
*/
var client = new RestClient
{
Authority = "https://api.twitter.com/oauth",
Credentials = credentials,
HasElevatedPermissions = true,
SilverlightAcceptEncodingHeader = "gzip",
DecompressionMethods = DecompressionMethods.GZip
};
var request = new RestRequest
{
Path = "/request_token"
};
client.BeginRequest(request, new RestCallback(TwitterRequestTokenCompleted));
}
private void TwitterRequestTokenCompleted(RestRequest request, RestResponse response, object userstate)
{
Debug.WriteLine("Twitter Request Token Completed");
_oAuthToken = GetQueryParameter(response.Content, "oauth_token");
_oAuthTokenSecret = GetQueryParameter(response.Content, "oauth_token_secret");
var authorizeUrl = MyTwitter.AuthorizeUri + "?oauth_token=" + _oAuthToken;
if (String.IsNullOrEmpty(_oAuthToken) || String.IsNullOrEmpty(_oAuthTokenSecret))
{
Dispatcher.BeginInvoke(() => MessageBox.Show("error calling twitter"));
return;
}
Dispatcher.BeginInvoke(() => browserControl.Navigate(new Uri(authorizeUrl)));
}
NullReferenceException-> Hammock.WindowsPhone.dll としてエラーが発生しています!
Hammock.Silverlight.Compat.GzipHttpWebResponse.GetResponseStream() + 0x1c バイト
そしてスタックでは、次のようなエラーが発生しています
Hammock.Silverlight.Compat.GzipHttpWebResponse.GetResponseStream() で
Hammock.Web.WebQuery.GetAsyncResponseCallback (IAsyncResult asyncResult) で
System.Net.Browser.ClientHttpWebRequest.<>c_ DisplayClassa.<InvokeGetResponseCallback>b _8 (オブジェクトの状態 2) で
System.Threading.ThreadPool.WorkItem.WaitCallback_Context (オブジェクトの状態) で
System.Threading.ExecutionContext.Run (ExecutionContext executionContext、ContextCallback コールバック、オブジェクトの状態) で
System.Threading.ThreadPool.WorkItem.doWork (オブジェクト o) で
System.Threading.Timer.ring() で
何が問題なのですか?