标签: linq-to-twitter

Twitter API仅应用程序身份验证(使用linq2twitter)

我需要实现Twitter API应用程序专用身份验证,我已经搜索了linq2twitter oauth示例和stackoverflow问题,但我没有找到任何有用的信息.

是否可以使用linq2twitter实现这种授权以及如何实现?

c# asp.net twitter oauth linq-to-twitter

13
推荐指数
1
解决办法
7135
查看次数

如何在异步方法中管理互斥锁

我已将旧的HttpHandler(.ashx)TwitterFeed代码移植到WebAPI应用程序.代码的核心使用了出色的Linq2Twitter软件包(https://linqtotwitter.codeplex.com/).部分端口涉及将此组件从版本2升级到版本3,现在提供了许多异步方法调用 - 这对我来说是新的.这是基本的控制器:

public async Task<IEnumerable<Status>> 
GetTweets(int count, bool includeRetweets, bool excludeReplies)
{
   var auth = new SingleUserAuthorizer
   {
      CredentialStore = new SingleUserInMemoryCredentialStore
      {
         ConsumerKey       = ConfigurationManager.AppSettings["twitterConsumerKey"],
         ConsumerSecret    = ConfigurationManager.AppSettings["twitterConsumerKeySecret"],
         AccessToken       = ConfigurationManager.AppSettings["twitterAccessToken"],
         AccessTokenSecret = ConfigurationManager.AppSettings["twitterAccessTokenSecret"]
      }
   };

   var ctx = new TwitterContext(auth);

   var tweets =
      await
      (from tweet in ctx.Status
         where (
            (tweet.Type == StatusType.Home)
            && (tweet.ExcludeReplies == excludeReplies)
            && (tweet.IncludeMyRetweet == includeRetweets)
            && (tweet.Count == count)
         )
      select tweet)
      .ToListAsync();

   return tweets;
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但之前,我已经缓存了结果,以避免"过度调用"Twitter API.在这里,我遇到了一个问题(更多的是与我对异步协议的理解不比我怀疑的其他问题).

概括地说,我想要做的是首先检查缓存,如果数据不存在,则重新水化缓存并将数据返回给调用者(网页).这是我对代码的尝试 …

c# synchronization mutex asynchronous linq-to-twitter

6
推荐指数
1
解决办法
3310
查看次数

如何使用linqtotwitter V3

好吧,我最近升级到V3,但它打破了很多东西

我该如何解决这些问题?

1号 :

这不再适用于Credentials和InMemoryCredentials这样的定义

var auth = new SingleUserAuthorizer
{
    Credentials = new InMemoryCredentials
    {
        ConsumerKey = srtwitterConsumerKey,
        ConsumerSecret = srtwitterConsumerSecret,
        OAuthToken = srtwitterOAuthToken,
        AccessToken = srtwitterAccessToken
        }
};
Run Code Online (Sandbox Code Playgroud)

2号:没有GetFileBytes的定义了

var mediaItems =
new List<Media>
{
    new Media
    {                 
        Data = Utilities.GetFileBytes(srImageUrl),
        FileName = srTweet.Split(' ')[0]+".jpg",
        ContentType = MediaContentType.Jpeg
    }
};
Run Code Online (Sandbox Code Playgroud)

3号:没有TweetWithMedia的定义

var tweet = twitterContext.TweetWithMedia(srTweet, false, mediaItems);
Run Code Online (Sandbox Code Playgroud)

4号:没有UpdateStatus的定义

var tweet = twitterContext.UpdateStatus(srTweet);
Run Code Online (Sandbox Code Playgroud)

5号:没有CreateFavorite的定义

var vrResult = twitterContext.CreateFavorite(srRetweetId);
Run Code Online (Sandbox Code Playgroud)

我找不到V3的任何例子

它总是说,twitterCtx但你怎么twitterCtx在第一位?

c# linq-to-twitter

6
推荐指数
1
解决办法
5921
查看次数

如何使用LinqToTwitter获取Hashtag上的所有推文

我试图让所有推文(计数总推文数)属于主题标签.我的功能在这里,如何使用maxID和sinceID获取所有推文.什么是"计数"而不是"计数"?我不知道.

if (maxid != null)
        {
            var searchResponse =
                await
                (from search in ctx.Search
                 where search.Type == SearchType.Search &&
                 search.Query == "#karne" &&
                 search.Count == Convert.ToInt32(count)
                 select search)
                 .SingleOrDefaultAsync();

            maxid = Convert.ToString(searchResponse.SearchMetaData.MaxID);

            foreach (var tweet in searchResponse.Statuses)
            {
                try
                {
                    ResultSearch.Add(new KeyValuePair<String, String>(tweet.ID.ToString(), tweet.Text));
                    tweetcount++;
                }
                catch {}
            }

            while (maxid != null && tweetcount < Convert.ToInt32(count))
            {
                maxid = Convert.ToString(searchResponse.SearchMetaData.MaxID);
                searchResponse =
                    await
                    (from search in ctx.Search
                     where search.Type == SearchType.Search &&
                     search.Query == "#karne" &&
                     search.Count == Convert.ToInt32(count) …
Run Code Online (Sandbox Code Playgroud)

c# linq twitter linq-to-twitter

5
推荐指数
1
解决办法
2593
查看次数

LINQ to Twitter:获得超过200条推文

我正在尝试检索过去2个月内的用户推文.但是,LINQ to Twitter将您可以检索的推文数限制为200.有没有办法检索更多?

Twitter api允许分页,如:

http://api.twitter.com/1/statuses/user_timeline.json?id=username8&count=200&page=2
Run Code Online (Sandbox Code Playgroud)

我在LINQ to Twitter库中找不到任何similair.

我尝试了以下,但它不起作用:

var statusTweets = (from tweet in twitterCtx.Status
                    where tweet.Type == StatusType.User &&
                    tweet.Count == 200 &&
                    tweet.ScreenName == "username"
                    select tweet).Skip(200);
Run Code Online (Sandbox Code Playgroud)

linq-to-twitter

4
推荐指数
1
解决办法
2841
查看次数

等待任务不是异步运行

我试图异步下载一些推特信息,它阻止了UI线程.我正在使用LinqToTwitter(http://linqtotwitter.codeplex.com/)下载信息.

这是对任务的调用

PublicTweetListBox.ItemsSource = await getTweets(twitterCtx);
Run Code Online (Sandbox Code Playgroud)

这是任务本身

async Task<List<TweetViewModel>> getTweets(TwitterContext twitterCtx)
{       
    var tweetList = await Task.FromResult<List<TweetViewModel>>(
    (from tweet in twitterCtx.Status
    where tweet.Type == StatusType.User
    && tweet.ScreenName == UserName.Text
    select new TweetViewModel
    {
        Name = tweet.User.Name,
        Tweet = tweet.Text,
        ImageUrl = tweet.User.ProfileImageUrl
    })
    .ToList());

    return tweetList;

}
Run Code Online (Sandbox Code Playgroud)

我在等待下载列表的方式做错了,TweetViewModel是自定义类型,如果有帮助的话.

c# async-await linq-to-twitter

3
推荐指数
1
解决办法
725
查看次数

使用LinqToTwitter排除转推

我的LinqToTwitter类不能排除转推.

var srch = (from search in twitterCtx.Search where search.Type == SearchType.Search && search.Query == term && search.Count == 100 select search).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

没有选择search.IncludeRetweets==false.

我怎么能用它进行搜索?我应该尝试另一堂课吗?

twitter linq-to-twitter

3
推荐指数
1
解决办法
1030
查看次数

如何使用linq登录twitter?

如果它很明显我很抱歉但我找不到答案.我想发布一个状态.我能找到的就是这两行.我无法弄清楚如何登录.我不在乎它是用户/密码还是使用API​​密钥.

var twitterCtx = new TwitterContext();
var tweet = twitterCtx.UpdateStatus(@"test text");
Run Code Online (Sandbox Code Playgroud)

我这样做是一个控制台应用程序.

.net twitter linq-to-twitter

1
推荐指数
1
解决办法
3239
查看次数

获取所有最新推文c#console应用程序

我如何从公共时间表中至少获得3200条最新推文?这是我目前所做的,但它只返回我最新的200条推文.

void GetUserTimeLine(TwitterContext ctx){

            var statusTweets =
               from tweet in twitterCtx.Status
              where tweet.Type == StatusType.User &&
                    tweet.Count == 3200 &&
                    tweet.ScreenName == "abc" 
             select tweet;

            //PrintTweetsResults(statusTweets);
            foreach (var tweet in statusTweets)
            {
                Console.WriteLine(
                    "(" + tweet.StatusID + ")" +
                    "[" + tweet.User.ID + "]" +
                    tweet.User.Name + ", " +
                    tweet.Text + ", " +
                    tweet.CreatedAt);
            }

        // DEFINE FILE PATH NAME
            string dwnloadFilePath = @"C:\temp\Tweet.log";

        // CREATE AN EMPTY TEXT FILE
        FileStream fs1 = null;
        if (!File.Exists(dwnloadFilePath))
        {
            using …
Run Code Online (Sandbox Code Playgroud)

c# twitter console-application linq-to-twitter

0
推荐指数
1
解决办法
897
查看次数