Интеграция с coldfusion и twitter4j

Используя twitter4j с coldfusion, я получаю следующую ошибку на моей странице обратного вызова:

OAuth consumer key/secret combination not supplied

Мой вызов авторизации выглядит так:

<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">

O_twitter.getRequestURL выглядит так:

<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>

Перезвоните

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

Он попадает на страницу обратного вызова, но ошибки в методе getOAuthAccessToken () в последней строке. Кто-нибудь знает, что я делаю не так? Наверное, что-то глупое.


person user460114    schedule 14.10.2011    source источник


Ответы (1)


Сообщение об ошибке самоочевидно - вы не предоставляете ключ / секрет потребителя.

Вам нужно создать свое приложение Twitter здесь, и тогда вы получите ключ клиента и секрет, чтобы вы уметь использовать OAuth.

person Lucas    schedule 14.10.2011
comment
Конечно, я уже создал свое приложение и у меня есть потребительские ключи. - person user460114; 14.10.2011
comment
Но вам нужно применить их, прежде чем звонить getOAuthAccessToken(). Как и при получении RequestToken. - person Leigh; 14.10.2011
comment
Спасибо, мой друг. Это сработало. - person user460114; 15.10.2011