0

1 か月前に、c# Windows フォーム アプリケーションで Twitter ツールを作成しました。ツイートを送信したり、ホームタイムライン、フレンドタイムライン、メンションタイムラインを表示したりできます。OAuthTokens メソッドで twitterizer dll を使用しましたが、更新制限があり、非常に遅いです。

ストリーミング Twitter アプリケーションを開始したいのですが、適切な例やドキュメントが見つかりません。開始しましたが、ストリームを開始できる関数が見つかりませんでしたが、文字列またはテキストボックスでした。私の質問は、ホームタイムラインからストリームを取得する方法です。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Twitterizer;
using Twitterizer.Streaming;

namespace Twww
{
    public partial class Form1 : Form
    {
        public OAuthTokens tokens = new OAuthTokens();
        private string userAgent = null;

        public Form1()
        {
            InitializeComponent();
            /* input tokens removed in example code */

            tokens.AccessToken = accessToken;

            tokens.AccessTokenSecret = accesssecret;

            tokens.ConsumerKey = consumerKey;

            tokens.ConsumerSecret = consumerSecret;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Twitterizer.Streaming.UserStreamOptions options = new UserStreamOptions();
            OAuthTokens token = new Twitterizer.OAuthTokens ();
            TwitterStream stream = new TwitterStream(token, userAgent, options);
        }
    }
}

ユーザーストリームで機能させようとしましたが、401 または 403 エラーが発生し、権限がないと言っています

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Twitterizer;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            OAuthTokens tokens = new OAuthTokens();
            string consumerKey = "XX";
            string consumerSecret = "XX";
            string accessToken = "XX";
            string accesssecret = "XX";

            tokens.AccessToken = accessToken;
            tokens.AccessTokenSecret = accesssecret;
            tokens.ConsumerKey = consumerKey;
            tokens.ConsumerSecret = consumerSecret;

            string url = "https://userstream.twitter.com/1.1/user.json?with=followings&replies=all";
            WebClient wc = new WebClient();
            wc.Credentials = new NetworkCredential("XX", "XX");
            StreamReader reader = new StreamReader(wc.OpenRead(url));

            string line;
            while ((line = reader.ReadLine()) != null)
            {
                dynamic json = JsonConvert.DeserializeObject(line);
                if (json.text != null)
                {
                    Console.WriteLine(json.text);
                }
            }
        }
    }
}
4

1 に答える 1

0

これを確認してください。twitterizer で TwitterStream の非常によく設計されたガイドがあります。

http://thewayofcode.wordpress.com/tag/json/

于 2012-11-29T21:48:33.257 に答える