Интегрировать Twitter в веб-сайт - PullRequest
3 голосов
/ 30 июня 2010

Я пытаюсь получить веб-сайт для подключения к учетной записи Twitter, чтобы я мог отображать твиты на своем веб-сайте.Я могу заставить приложение работать, когда вы подключаетесь через аутентификацию OAuth, и он спрашивает, хочу ли я разрешить приложение.

То, что я хочу сделать, это то, что это моя собственная учетная запись Twitter, я хочу иметь возможность входить в систему без необходимости делать это каждый раз.Я хочу, чтобы веб-сайт отправлял мои учетные данные, чтобы пользователь просто видел страницу и мог просматривать твиты.Это возможно?

Ответы [ 3 ]

1 голос
/ 01 июля 2010

Я понял это. Я создал новый класс, который наследует интерфейс IConsumerTokenManager. Тогда единственными свойствами, которые мне нужно было изменить, были ConsumerKey, ConsumerSecret и GetTokenSecret (как показано ниже).

#region Namespaces
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DotNetOpenAuth.OAuth.ChannelElements;
using DotNetOpenAuth.OAuth.Messages; 
#endregion

namespace BingMapTest
{
    public class ConsumerTokenManager : IConsumerTokenManager
    {
        public string ConsumerKey
        {
            get { return "xxxxxxxx"; }
        }

        public string ConsumerSecret
        {
            get { return "xxxxxxxx"; }
        }

        public string GetTokenSecret(string token)
        {
            return "xxxxxxxx";
        }

        public void ExpireRequestTokenAndStoreNewAccessToken(string consumerKey, string requestToken, string accessToken, string accessTokenSecret)
        {
            throw new NotImplementedException();
        }

        public TokenType GetTokenType(string token)
        {
            throw new NotImplementedException();
        }

        public bool IsRequestTokenAuthorized(string requestToken)
        {
            throw new NotImplementedException();
        }

        public void StoreNewRequestToken(UnauthorizedTokenRequest request, ITokenSecretContainingMessage response)
        {
            throw new NotImplementedException();
        }
    }
}

Затем, вернувшись в свой метод Page_Load, я создаю экземпляр нового ConsumerTokenManager:

protected void Page_Load(object sender, EventArgs e)
        {
            ITwitterAuthorization auth;

            ConsumerTokenManager tokenManager = new ConsumerTokenManager();

            auth = new WebOAuthAuthorization(tokenManager, "accessToken");
            auth.UseCompression = true;

            // For Twitter
            using (var twitterCtx = new TwitterContext(auth, "https://api.twitter.com/1/", "https://search.twitter.com/"))
            {                   
                // Whatever authorization module we selected... sign on now.  
                try
                {
                    auth.SignOn();
                }
                catch (OperationCanceledException)
                {
                    return;
                }
            }
        }

Думал, что поделюсь, если у кого-то еще будет похожая проблема.

1 голос
/ 30 июня 2010

Если ваша учетная запись не защищена, вы можете использовать общедоступную временную шкалу, например:

http://twitter.com/statuses/user_timeline/mytwittername.json?callback=twitterCallback2&count=4

это даст вам последние 4 твита, есть другие способы получить ваши твиты без аутентификации

0 голосов
/ 30 июня 2010

Вы все еще должны использовать oauth.

Идея состоит в том, что при входе в систему любой API-интерфейс oauth возвращает токен доступа. Иногда маркер доступа необходимо периодически запрашивать, но в случае с Twitter в часто задаваемых вопросах говорится (почти внизу), что они не имеют срока действия.

Этот токен доступа используется для подписи всех будущих вызовов, таких как получение твитов и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...