Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Integrate Twitter in a website

Tags:

c#

oauth

twitter

I am trying to get a website to connect to a Twitter account so that I can display the tweets on my website. I can get the application to work when you connect via the OAuth authentication and it asks if I want to allow the application.

What I want to do, is because it's my own Twitter account, I want to be able to login without having to do this every time. I want the website to send my credentials across so that the user just sees the page, and can view the tweets. Is this possible?

like image 517
Neil Knight Avatar asked Mar 12 '26 15:03

Neil Knight


2 Answers

If your account is not protected, you can use the public timeline like:

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

this will give you the last 4 tweets, there are other ways to retrieve your tweets whithout authentication

like image 89
Redlab Avatar answered Mar 15 '26 05:03

Redlab


I have figured this out. I created a new class that inherits the IConsumerTokenManager interface. Then, the only properties I needed to change were ConsumerKey, ConsumerSecret and GetTokenSecret (as shown below).

#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();
        }
    }
}

Then, back in my Page_Load method I instantiate the new 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;
                }
            }
        }

Thought I'd share incase anyone else has a similar issue.

like image 26
Neil Knight Avatar answered Mar 15 '26 04:03

Neil Knight



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!