1

アプリで 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() で

何が問題なのですか?

4

1 に答える 1

0

参照の問題がありました、それが問題の原因でした、それは修正されました、ご支援ありがとうございます ジョン

于 2012-05-23T13:48:58.343 に答える