Linq2Twitter導入メモ

Linq2Twitter導入

Linq2Twitterとは

github.com

ゴール

とにかくtwitterの発言をとってくる

方針

公式の以下を参考に検索結果を取得する
LINQ to Twitter - Documentation

手順

インストールから。

<configuration>
  <!-- 
    既存要素
  -->
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

結果

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LinqToTwitter;

namespace Linq2TwWrapper
{
    public class Tw
    {

        public async void GetTweets()
        {
            var auth = new SingleUserAuthorizer
            {
                CredentialStore = new SingleUserInMemoryCredentialStore
                {
                    ConsumerKey = "",
                    ConsumerSecret = "",
                    AccessToken = "",
                    AccessTokenSecret = ""
                }
            };

            var twCtx = new TwitterContext(auth);
            var searchResponse = await (from search in twCtx.Search
                                        where search.Type == SearchType.Search &&
                                        search.Query == "\"hkdnet\""
                                        select search).SingleOrDefaultAsync();
            if (searchResponse != null && searchResponse.Statuses != null)
                searchResponse.Statuses.ForEach(tweet =>
                    Console.WriteLine(
                        "User: {0}, Tweet: {1}",
                        tweet.User.ScreenNameResponse,
                        tweet.Text));
        }
    }
}

User: HKDnet, Tweet: Interstellarを完全にInstallerに空目した
User: HKDnet, Tweet: library直接使うのよくないかなって思ってクッション書いてるんだけど特にクッション書く必要ない気がしてきて非常にアレ
User: HKDnet, Tweet: 「働きたくない気持ちに年齢は関係ないだろ!」ってフレーズがふと頭に
...

残課題

  • あるユーザーのタイムラインを取得する
  • 発言する
  • favる
  • retweetする
  • とかなんとか