如何在UAP中使用LinqToTwitter?

时间:2015-12-04 00:50:12

标签: linq-to-twitter

我开始尝试使用Linq到Twitter库来查询一些推特数据。我有以下功能:

public static async Task<List<Status>> GetTweets(TwitterContext context, string searchQuery, int count = 15)
    {
        var searchResult = await
            (from search in context.Search
             where search.Type == SearchType.Search &&
                   search.Query == searchQuery &&
                   search.IncludeEntities == true &&
                   search.Count == count
             select search)
             .SingleOrDefaultAsync();

        return searchResult.Statuses;
    }

我为调用此函数而创建的控制台应用程序中的函数如下所示:

IAuthorizer authorizer = new ApplicationOnlyAuthorizer
        {
            CredentialStore = new InMemoryCredentialStore
            {
                ConsumerKey = consumerKey,
                ConsumerSecret = consumerSecret,
            }

        };
        authorizer.AuthorizeAsync().Wait();
        TwitterContext context = new TwitterContext(authorizer);
        List<Status> statuses = GetTweets(context, "#hashtag", 50).Result; 

这完美无缺。但是,如果我将其迁移到通用Windows应用程序中,那么它将永久挂起List<Status> statuses = GetTweets(context, "#hashtag", 50).Result;。没有异常发生,没有任何显示,没有任何回报。我使用它错了吗?

1 个答案:

答案 0 :(得分:1)

LINQ to Twitter v3.x及更早版本的版本无法使用UAP应用程序。他们会产生您现在正在经历的相同行为。您必须升级到最新版本,该版本处于预发布状态。

这是LINQ to Twitter,v4.0的预发布版本。除了其他技术之外,它的主要目的是包括对UAP的支持:

http://www.nuget.org/packages/linqtotwitter/4.0.0-beta2