troubleshooting Question

ColdFusion and Twitter OAuth

Avatar of Medrise
Medrise asked on
ColdFusion Language
7 Comments1 Solution674 ViewsLast Modified:
I'm current writing a script that will get any new post from my forum and post it to our Twitter account. I had this script working before, but since Twitter moved to OAuth I need some help.

I'm using the following code

<cfset TwitterConsumerKey = "xxxxx">
<cfset TwitterConsumerSecret = "xxxx">
<cfset StoredAccessToken = "xxxxx">
<cfset StoredAccessSecret = "xxxx">

<cfset Twitter = createObject("java", "twitter4j.Twitter")>
<cfset Twitter.setOAuthConsumer(TwitterConsumerKey,TwitterConsumerSecret)>
<cfset Twitter.setOAuthAccessToken(StoredAccessToken,StoredAccessSecret)>
<cfset Twitter.updateStatus("My first custom Twitter update! Thanks @RobOBrien!")>

Now if I use this code it does work. I don't see the difference since the StoredAccessToken, and StoredAccessSecret  is always the same. But this code now the user need to Accept the application.

<cfset Twitter = createObject("java", "twitter4j.Twitter")>
<cfset Twitter.setOAuthConsumer(TwitterConsumerKey,TwitterConsumerSecret)>
<cfif structKeyExists(url,'oauth_token') IS FALSE>
<!--- // 2. Authorize --->
	<cfset RequestToken = Twitter.getOAuthRequestToken()>
	<cfset Session.oAuthRequestToken = RequestToken.getToken()>
	<cfset Session.oAuthRequestTokenSecret = RequestToken.getTokenSecret()>
	<cflocation url="#RequestToken.getAuthorizationURL()#" addtoken="No">	
<cfelse>
	<!--- // 3. Authenticate // --->
	<cfset AccessToken = Twitter.getOAuthAccessToken(Session.oAuthRequestToken,Session.oAuthRequestTokenSecret)>
	<cfset session.StoredAccessToken = AccessToken.getToken()>
	<cfset session.StoredAccessSecret = AccessToken.getTokenSecret()>
    <cfset Twitter.setOAuthAccessToken(Session.StoredAccessToken,Session.StoredAccessSecret)>
	<cfset Twitter.updateStatus("My first custom Twitter update! Thanks @RobOBrien!")>
    <cfdump var="#session#">    
</cfif>
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 1 Answer and 7 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 7 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros