2012-03-01 11 views
0

TwitterBizetで問題が発生したことは、クライアントがPhotobucketの画像を含むアカウントにツイートを追加するまでうまくいきました。Twitterizer - オブジェクトリファレンスがオブジェクトのインスタンスに設定されていません

上記のオブジェクト参照エラーが発生しました。それは実際に私が今削除した問題を引き起こしているツイートだったと判断するのに1〜2時間かかりましたが、どうすればこの問題を解決できますか?

私のコードはでタイムラインを引っ張るための非常に基本的なソリューションである下回っている:ブライアンのための

OAuthTokens tokens = new OAuthTokens(); 
tokens.AccessToken = AccessToken; 
tokens.AccessTokenSecret = AccessTokenSecret; 
tokens.ConsumerKey = ConsumerKey; 
tokens.ConsumerSecret = ConsumerSecret; 

try 
{ 
    UserTimelineOptions opts = new UserTimelineOptions(); 
    opts.IncludeRetweets = false; 
    opts.UseSSL = true; 
    opts.Count = 5; 

    /* Throws Exception -> */ TwitterResponse<TwitterStatusCollection> timeLine = TwitterTimeline.UserTimeline(tokens, opts); 
    uxTweets.DataSource = timeLine.ResponseObject; 
    uxTweets.DataBind(); 
} 
catch 
{ 
    uxError.Text = "<p class=\"p1\">Twitter isn't configured correctly. Twitter is not responding.</p>"; 
} 

更新スタックトレース:

[NullReferenceException: Object reference not set to an instance of an object.] 
    Twitterizer.Entities.Converter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) +1355 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueProperty(JsonReader reader, JsonProperty property, Object target, Boolean gottenCurrentValue, Object currentValue) +165 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonReader reader, Object target) +476 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, String id) +702 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateObject(JsonReader reader, JsonObjectContract contract, String id) +110 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +867 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +92 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IWrappedCollection wrappedList, JsonReader reader, String reference, JsonArrayContract contract) +495 
    Newtonsoft.Json.Serialization.<>c__DisplayClass1.<CreateAndPopulateList>b__0(IList l, Boolean isTemporaryListReference) +98 
    Newtonsoft.Json.Utilities.CollectionUtils.CreateAndPopulateList(Type listType, Action`2 populateList) +554 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateList(JsonReader reader, String reference, JsonArrayContract contract) +103 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String reference) +61 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +119 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract) +130 
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) +94 
    Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) +47 
    Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) +105 
    Newtonsoft.Json.JsonConvert.DeserializeObject(String value, JsonSerializerSettings settings) +74 
    Newtonsoft.Json.JsonConvert.DeserializeObject(String value) +42 
    Twitterizer.Core.SerializationHelper`1.Deserialize(Byte[] webResponseData, DeserializationHandler deserializationHandler) +91 
    Twitterizer.Core.TwitterCommand`1.ExecuteCommand() +2867 
    Twitterizer.TwitterTimeline.UserTimeline(OAuthTokens tokens, UserTimelineOptions options) +48 
    DataComuniqueUtils.Twitter.Page_Load(Object sender, EventArgs e) in C:\Users\Paul Stoker\Documents\Visual Studio 2010\Projects\DataComuniqueUtils\DataComuniqueUtils\Twitter.ascx.cs:41 
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 
    System.Web.UI.Control.OnLoad(EventArgs e) +91 
    System.Web.UI.Control.LoadRecursive() +74 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Control.LoadRecursive() +146 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207 
+1

例外のスタックトレースを含めてください。 –

+0

エラーは通常、何かがnullオブジェクトに割り当てられていることを意味します。これをトリガーするコードの行を特定することはできますか? – Bahamut

+0

バハムートありがとう、私は例外がスローされた場所を示すために投稿を編集しました。 Twitterizer.Entitiesライブラリが画像を処理するために更新されたとは思えません。 – Stokedout

答えて

1

私はこの問題を抱えていました。 Newtonsoft.json.dllを4.3。*にダウングレードすると、問題が解決しました。

0

これはで新しいバグですTwitterizerライブラリ。原因を特定する機会はありませんでしたが、状況によってはTwitter APIによって返されるデータの構造が変更されているようです(エンティティデータに関連していると思います)。

これは悪いシナリオです:JSON.NETライブラリの新しいバグです。これはTwitterizerが自動的にjsonデータをオブジェクトに読み込むために使用されます。

+0

このリッキーを見ていただきありがとうございます、私は更新のgithubのレポに気をつけています;-) – Stokedout

関連する問題