0

Twitter APIをいじり始め、Twitterizerライブラリを使用してAPIとインターフェイスすることを選択しました。現在、テストプロジェクトを使用して簡単なタスクを実行していますが、フォーラムやスタックで情報を見つけることができないという問題が発生しました。

セットアップ

  1. Twitterizerバージョン2.4(NuGet)の使用
  2. NewtonSoft JSONバージョン4.0.2の使用(シリアル化の問題のため、4.0.8からダウングレードする必要がありました)
  3. .Net 4.0/MVCプロジェクト

例外をスローしているコードスニペットは次のとおりです。

var token = dbContext.TwitterProfiles.Where(x => x.TwitterId == MySuperSecretId).First();
var oAuthToken = new OAuthTokens
    {
        AccessToken = token.Token,
        AccessTokenSecret = token.Secret,
        ConsumerKey = ConfigurationManager.AppSettings["TwitterConsumerKey"],
        ConsumerSecret = ConfigurationManager.AppSettings["TwitterConsumerSecret"]
    };

TwitterResponse<TwitterStatusCollection> mentionsResponse = TwitterTimeline.RetweetsOfMe(oAuthToken);

最後の行はNullRef例外を引き起こします

スタックトレース:

   at Twitterizer.Commands.RetweetsOfMeCommand.Init()
   at Twitterizer.Core.CommandPerformer.PerformAction[T](ICommand`1 command)
   at Twitterizer.TwitterTimeline.RetweetsOfMe(OAuthTokens tokens, RetweetsOfMeOptions options)
   at Twitterizer.TwitterTimeline.RetweetsOfMe(OAuthTokens tokens)
   at TwitterTest.Controllers.HomeController.GetRetweets() in C:\Users\Tommy\Documents\Visual Studio 2010\Projects\TwitterTest\TwitterTest\Controllers\HomeController.cs:line 85
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)

ライブラリのNull参照例外に関する前の質問を見ましたが、その問題は以前のバージョン(2.3.1)にありました。誰かがこれに出くわした/パラメータまたは私がこの関数に送るべき何かを知っている/など?Timeline.Mentions関数とUser.GetFollowers関数を問題なく使用できたので、ライブラリがある程度正しく構成されていることがわかります...

4

1 に答える 1

0

わかりました-私はそれを持っているかもしれませんが、最初にもう少しテストを行うつもりです。この特定の関数には、2番目のパラメーターとしてRetweetsOfMeOptionsを使用したオーバーロードされたバージョンがあり、私の例では、このバージョンを使用していませんでした。ただし、次のコード行を追加すると、次のようになります。

var options = new RetweetsOfMeOptions {Count = 25, UseSSL = false};

そして、オーバーロードされた呼び出しを使用するように関数呼び出しを更新します。

TwitterResponse<TwitterStatusCollection> mentionsResponse = TwitterTimeline.RetweetsOfMe(oAuthToken, options);

エラーは発生しませんでした。これが正しいと確信したら、潜在的な問題としてTwitterizerフォーラム/バグトラッカーに投稿します。

于 2012-02-22T01:48:12.457 に答える