无法使用LinqToTwitter搜索推文

问题描述 投票:0回答:1

我正在开始一个新的C#项目,我想在其中提取一些推文,此刻没有具体内容,只是为了入门...

我在Twitter API上创建了一个开发人员用户,并创建了一个新应用,并获得了所有消费者密钥和访问令牌...

根据此链接-https://github.com/JoeMayo/LinqToTwitter/wiki/Single-User-Authorization一切都应该相当顺利,但我什么都没得到...

我的项目是一个.net控制台应用程序,这是我的代码,几乎可以从我上面提到的引用中复制粘贴:

var auth = new SingleUserAuthorizer
        {
            CredentialStore = new SingleUserInMemoryCredentialStore
            {
                ConsumerKey = ...,
                ConsumerSecret = ...,
                AccessToken = ...,
                AccessTokenSecret = ...
            }
        };


        var twitterCtx = new TwitterContext(auth);

        var searchResponse =
            (from search in twitterCtx.Search
             where search.Type == SearchType.Search &&
                   search.Query == "\"LINQ to Twitter\""
             select search)
            .SingleOrDefault();

        if (searchResponse != null && searchResponse.Statuses != null)
            searchResponse.Statuses.ForEach(tweet =>
                Console.WriteLine(
                    "User: {0}, Tweet: {1}",
                    tweet.User.ScreenNameResponse,
                    tweet.Text));

我什至不知道如何识别身份验证过程是否成功,请帮忙吗?谢谢!

c# twitter linq-to-twitter
1个回答
0
投票

您错过了搜索查询中的await

        var searchResponse =
            await
            (from search in twitterCtx.Search
             where search.Type == SearchType.Search &&
                   search.Query == "\"LINQ to Twitter\""
             select search)
            .SingleOrDefaultAsync();

到Twitter的LINQ为async,这意味着调用链中的所有方法都必须为async,并且您必须为await调用。可能发生的情况是该方法在填充searchResponse之前返回,并且看不到结果。添加await使代码等待响应。

© www.soinside.com 2019 - 2024. All rights reserved.