0

Web サイトのコメントを Twitter ウォールに投稿しようとしていますが、エラーが発生します

リモート サーバーがエラーを返しました: (401) Unauthorized

私の試したコードは次のとおりです:-

using System;
using System.Web;
using System.Net;
using System.IO;
using System.Web.Script.Serialization;
using System.Text;
using System.Configuration;

namespace Dotned.UI.Framework
{
public class TwitterClient
{
    public string Username { get; set; }
    public string Password { get; set; }
    public Exception Error { get; set; }
    private string _twitterUpdateUrl = "http://twitter.com/statuses/update.json";

    public TwitterClient(string userName, string password)
    {
        this.Username = userName;
        this.Password = password;
    }

    public void SendMessage(string message)
    {
        try
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(_twitterUpdateUrl);
            request.Credentials = new NetworkCredential(this.Username, this.Password);

            SetRequestParams(request);

            string post = string.Format("status={0}", HttpUtility.UrlEncode(message));

            using (Stream requestStream = request.GetRequestStream())
            {
                using (StreamWriter writer = new StreamWriter(requestStream))
                {
                    writer.Write(post);
                }
            }

            WebResponse response = request.GetResponse();
            string content;

            using (Stream responseStream = response.GetResponseStream())
            {
                using (StreamReader reader = new StreamReader(responseStream))
                {
                    content = reader.ReadToEnd();
                }
            }
        }
        catch (Exception ex)
        {
            Error = ex;
        }
    }

    private static void SetRequestParams(HttpWebRequest request)
    {
        System.Net.ServicePointManager.Expect100Continue = false;
        request.Timeout = 50000;
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
    }

}
}

プロセスは で中断してい WebResponse response = request.GetResponse();ます。

どんな提案も非常に高く評価されます。

4

1 に答える 1

0

OAuth で認証する必要があります。Twitter のOAuth ページにアクセスして、これを自分で記述する方法を確認するか、サード パーティのライブラリ ページにアクセスして、役立つライブラリを見つけることができます。

于 2013-09-06T15:03:19.000 に答える