C# Tweetsharp搜索功能

C# Tweetsharp搜索功能,c#,asp.net,tweetsharp,C#,Asp.net,Tweetsharp,我已经写了一小段代码,不知道哪里出错了。我只想用tweetsharp在twitter上搜索并返回结果 代码如下: protected void Page_Load(object sender, EventArgs e){ _consumerKey = ConfigurationManager.AppSettings["ConsumerKey"]; _consumerSecret = ConfigurationManager.AppSettings["ConsumerKey"];

我已经写了一小段代码,不知道哪里出错了。我只想用tweetsharp在twitter上搜索并返回结果

代码如下:

protected void Page_Load(object sender, EventArgs e){
    _consumerKey = ConfigurationManager.AppSettings["ConsumerKey"];
    _consumerSecret = ConfigurationManager.AppSettings["ConsumerKey"];
    _accessToken = ConfigurationManager.AppSettings["accessToken"];
    _accessTokenSecret = ConfigurationManager.AppSettings["accessTokenSecret"];

    TwitterClientInfo twitterClientInfo = new TwitterClientInfo();
    twitterClientInfo.ConsumerKey = _consumerKey;
    twitterClientInfo.ConsumerSecret = _consumerSecret;

    TwitterService service = new TwitterService(twitterClientInfo);

    //var service = GetAuthenticatedService();

    OAuthRequestToken requestToken = service.GetRequestToken();

    requestToken.OAuthCallbackConfirmed = true;
    requestToken.Token = _accessToken;
    requestToken.TokenSecret = _accessTokenSecret;

    Uri authUrl = service.GetAuthenticationUrl(requestToken);

    service.AuthenticateWith(_accessToken, _accessTokenSecret);



    var tweets = service.Search(new SearchOptions { Q = "#MetGala", Count = 100 });

    if (tweets != null)
    {

        foreach (var tweet in tweets.Statuses)
        {
            System.Diagnostics.Debug.WriteLine("{0} says '{1}", tweet.User.ScreenName, tweet.Text);
        }
    }
    else
    {
        System.Diagnostics.Debug.WriteLine("FAIL");
    }

    FacebookFeed();
}

你这里有什么问题?什么不起作用

据我所知,您有一些不需要的额外代码,但它应该与此配合使用:

protected void Page_Load(object sender, EventArgs e){
_consumerKey = ConfigurationManager.AppSettings["ConsumerKey"];
_consumerSecret = ConfigurationManager.AppSettings["ConsumerKey"];
_accessToken = ConfigurationManager.AppSettings["accessToken"];
_accessTokenSecret = ConfigurationManager.AppSettings["accessTokenSecret"];

TwitterClientInfo twitterClientInfo = new TwitterClientInfo();
twitterClientInfo.ConsumerKey = _consumerKey;
twitterClientInfo.ConsumerSecret = _consumerSecret;

TwitterService service = new TwitterService(twitterClientInfo);

service.AuthenticateWith(_accessToken, _accessTokenSecret);



var tweets = service.Search(new SearchOptions { Q = "#MetGala", Count = 100 });

if (tweets != null)
{

    foreach (var tweet in tweets.Statuses)
    {
        System.Diagnostics.Debug.WriteLine("{0} says '{1}", tweet.User.ScreenName, tweet.Text);
    }
}
else
{
    System.Diagnostics.Debug.WriteLine("FAIL");
}

FacebookFeed();

}

我在我的WP7应用程序中也做了同样的事情,下面是一些适合我的代码(您的auth部分似乎没有问题。我在异步方法调用中使用委托。检查twitter搜索响应,您可能会在其中看到错误:

    _twitterService = (App.Current as App).Twitter;

    var searchOptions = new SearchOptions { Q = _hashTag.Name, IncludeEntities = false, Resulttype = _twitterSearchResultType };

    if (_returnedResultsCount != null)
        searchOptions.Count = _returnedResultsCount;

    _twitterService.Search(searchOptions, (twitterSearchResult, twitterSearchResponse) =>
    {
        try
        {
            if (twitterSearchResponse.StatusCode == HttpStatusCode.OK)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(IEnumerable<TwitterStatus>));

                    ser.WriteObject(ms, twitterSearchResult.Statuses);

                    byte[] data = ms.ToArray();

                    result(new LoadRequestResult(new MemoryStream(data)));
                }
            }
            else
            {
                result(new LoadRequestResult(new MemoryStream()));
            }
        }
        catch
        {
            result(new LoadRequestResult(new MemoryStream()));
        }
    });
\u twitterService=(App.Current作为App.Twitter;
var searchOptions=newsearchoptions{Q=_hashTag.Name,IncludeEntities=false,Resulttype=_twitterSearchResultType};
如果(_returnedResultsCount!=null)
searchOptions.Count=\u returnedResultsCount;
_搜索(搜索选项,(twitterSearchResult,twitterSearchResponse)=>
{
尝试
{
if(twitterSearchResponse.StatusCode==HttpStatusCode.OK)
{
使用(MemoryStream ms=new MemoryStream())
{
DataContractJsonSerializer ser=新的DataContractJsonSerializer(typeof(IEnumerable));
ser.WriteObject(ms、twitterSearchResult.Status);
字节[]数据=ms.ToArray();
结果(新加载请求结果(新内存流(数据));
}
}
其他的
{
结果(new LoadRequestResult(new MemoryStream());
}
}
抓住
{
结果(new LoadRequestResult(new MemoryStream());
}
});