user460114
user460114

Reputation: 1848

coldfusion twitter4j integration

Using twitter4j with coldfusion, I'm getting the following error in my callback page:

OAuth consumer key/secret combination not supplied

My authorisation call looks like this:

<cfset o_twitter = createObject("component", "cfcs.twitter")>  
<cfset request_url = o_twitter.getRequestURL(user_id=url.user_id)>   
<!--- redirect to twitter auth --->
<cflocation url="#request_url#" addtoken="no">

The o_twitter.getRequestURL looks like this:

<cffunction name="getRequestURL" access="remote" returntype="any" hint="Generates Twitter token request url">
    <cfargument name="twitter_consumer_key" type="string" default="#application.TwitterConsumerKey#">
    <cfargument name="twitter_consumer_secret" type="string" default="#application.TwitterConsumerSecret#">
    <cfargument name="user_id" type="any" required="false" default="">

    <cfset var o_twitter4j = createObject("java", "twitter4j.Twitter")>
    <cfset o_twitter4j.setOAuthConsumer(arguments.twitter_consumer_key,arguments.twitter_consumer_secret)>

    <!--- Generate request token and send user to twitter for allow/deny access --->
    <cfset RequestToken = o_twitter4j.getOAuthRequestToken()>
    <!--- set requestTokens in session for later swapping for user access tokens --->
    <cfset Session.oAuthRequestToken = RequestToken.getToken()>
    <cfset Session.oAuthRequestTokenSecret = RequestToken.getTokenSecret()>
    <cfset requestURL = RequestToken.getAuthorizationURL()>

    <cfreturn requestURL>
</cffunction>

Callback

<cfscript>
    o_twitter4j = createObject("java", "twitter4j.Twitter");
    o_twitter = createObject("component","cfcs.twitter");
</cfscript>
<cfset AccessToken = o_twitter4j.getOAuthAccessToken(Session.oAuthRequestToken,Session.oAuthRequestTokenSecret)>

It gets to the callback page but errors on getOAuthAccessToken() method on the last line. Anybody know what I'm doing wrong? Probably something noobish.

Upvotes: 2

Views: 373

Answers (1)

Lucas
Lucas

Reputation: 1402

The error message is quite self explaining - you're not providing consumer key/secret.

You need to create your Twitter app here and then you'll get the consumer key and secret so you'll be able to use OAuth.

Upvotes: 3

Related Questions