2017-10-12 3 views
0

私はLinq2Twitterを使用しています。私がフォローしている誰かの保護されたつぶやきから、特定のハッシュタグで特定のハッシュタグを取得します。コンシューマーキー、シークレット、アクセストークン、アクセストークンシークレットを使用して、SingleUserAuthorizerを使用して接続をセットアップしました。私はパブリックなつぶやきを得ることができますが、私が従う人々から保護されたつぶやきは返ってきません。Linq2Twitterの検索で保護されたつぶやきが見つかりません

さらに多くの結果を取得し続けるために、次の設定がループ内にあります。私は一般公開のテストアカウントを含む公開されたつぶやきがたくさんありますが、保護されたテストアカウントからは何も得られません。

search = await (twitterCtx.Search.Where(srch => srch.Type == SearchType.Search 
                   && srch.Count == 100 
                   && srch.Query == "#myHastTag" 
                   && srch.MaxID == minID 
                   && srch.ResultType == ResultType.Recent 
                  ) 
                .Select(srch => srch)) 
                .SingleOrDefaultAsync(); 

私は、検索を実行するときに(srch.MaxIDを使用)をループしてより多くの結果を取得しようとしているが、私は結果で私のつぶやきを見つけることができません。

私は正確に同じ認証を使用しますが、保護されたつぶやきを持っている私のユーザーを検索する場合、私は戻って応答を得るのです:

search = await (twitterCtx.Status.Where(t => t.Type == StatusType.User 
                   && t.UserID == myTwitterUserID 
                  ) 
                .Select(t => t)) 
                .ToListAsync(); 

私は結果を検索するときに保護されたツイートが含まれるように取得できますか?

+0

プライベートのつぶやきはどういう意味ですか? DMs? –

+0

@JoeMayo - 申し訳ありませんが、私はProtectedをPrivateではないと書いていたはずです。 Twitterで設定に入り、「自分のつぶやきを守る」とチェックした人。私は保護されたつぶやきをすべてのユーザーから受け取ることを期待していません。 – Greg

答えて

0

私はちょうどhttps://support.twitter.com/articles/14016を読む - 私はあなたのアカウントが保護されている場合、自分のつぶやきを得ることはできません、私のアプリを許可しない限り、私は推測している。

回避策: はこれまでのところ私が思い付くした最高のは、ユーザーのホームタイムラインを照会して、ハッシュタグであることをフィルタリングすることです。そのリストを公開リストのリストと組み合わせると、それらのすべてが含まれているはずです。

using (var twitterCtx = new TwitterContext(auth)) 
      { 
       var tweets = 
       await 
       (from tweet in twitterCtx.Status 
       where tweet.Type == StatusType.Home 
       && tweet.TweetMode == TweetMode.Extended 
       select tweet) 
       .ToListAsync(); 

       var filteredTweets = tweets.Where(t => t.Entities.HashTagEntities.Any(h => h.Tag == "GregsTestWall")); 

      } 
+0

確かにサードパーティのアプリケーションがない理由の一部を説明しています。 – krillgar

関連する問題