1

私はTweetsharpライブラリとユーザーを使用して、自分のサイトからTwitterのステータスを投稿できるようにしています。

HomeControllerのコードは以下のとおりですが、問題はコールバックが正しく機能していないことです。Twitterはローカルホストを受け入れていないため、アプリケーション設定では空白のままにし、コードではコールバックURLを送信しています。

'using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TweetSharp;
using System.Web.Configuration;
using Microsoft.Web.WebPages.OAuth;

namespace youtube.Controllers
{
    public class HomeController : Controller
    {
        private string ConsumerKey = WebConfigurationManager.AppSettings["ConsumerKey"];
        private string ConsumerSecret = WebConfigurationManager.AppSettings["ConsumerSecret"];

        public ActionResult Index()
        {

            return View();
        }

        public ActionResult Authorize()
        {
            string _consumerKey = System.Configuration.ConfigurationManager.AppSettings["ConsumerKey"];
            string _consumerSecret = System.Configuration.ConfigurationManager.AppSettings["ConsumerSecret"];
            TwitterService service = new TwitterService(_consumerKey, _consumerSecret);
            //service.
            OAuthRequestToken requestToken = service.GetRequestToken();

            var uri = service.GetAuthorizationUri(requestToken,"http://localhost:50852/AuthorizeCallBack");
            return new RedirectResult(uri.ToString(), false);
        }


            public ActionResult AuthorizeCallback(string oauth_token, string oauth_verifier)
            {
                var requestToken = new OAuthRequestToken {Token = oauth_token};


                TwitterService service = new TwitterService(ConsumerKey, ConsumerSecret);
                OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);


                service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
                TwitterUser user = service.VerifyCredentials();
                ViewBag.Message = string.Format("Your username is {0}", user.ScreenName);
                return View();
        }


    }

}'
4

1 に答える 1

2

Twitterは以下を受け入れます:

http://127.0.0.1:{port}/anything

少なくともそれは私のために働いています。

于 2012-11-22T15:39:32.227 に答える