twitter4J, jquery, интеграция с coldfusion

Я использую Twitter4j и пытаюсь получить и сохранить токены доступа пользователя Twitter к базе данных для последующего твита. Я хочу сделать это полностью с помощью jQuery и ajax, молча.

У меня есть cfc с основными необходимыми функциями. например Следующий jquery вызывает функцию cfc, которая генерирует URL-адрес запроса и открывает окно аутентификации Twitter.

$(".cbLinkTwitter").live("click", function(e) {
     $.getJSON(cfcRoot + "/twitter.cfc?method=getRequestURL&returnformat=json, {"user_id":user_id}, function(res,code) {
          openWindow(res);
     });
     e.preventDefault();
});

Это все работает нормально. Однако после того, как пользователь предоставит авторизацию, как использовать jQuery для захвата возвращенных токенов. Он должен вернуться к указанному URL-адресу обратного вызова, но я бы хотел, чтобы он возвращал данные без вывода сообщений, если это возможно. Можно ли это сделать с помощью iframe?

Я, вероятно, прошу слишком многого, но если кто-то сделал что-то подобное, я был бы очень признателен за толчок в правильном направлении.


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


Ответы (1)


Посмотрите здесь.

Этот сайт делает это путем создания RequestToken с использованием getOAuthRequestToken(), затем вызывает getToken() и getSecretToken() в RequestToken и сохраняет эти 2 переменные в области SESSION. Затем авторизация URL генерируется с использованием getAuthorizationURL().

После того, как пользователь одобрил запрос OAuth, вам необходимо сгенерировать токен доступа и сохранить результаты этих двух методов: AccessToken.getToken() и AccessToken.getTokenSecret().

Итак, чтобы ответить на ваш вопрос, я предполагаю, что это будет работать, если вы сохраните область oAuthRequestToken и oAuthRequestTokenSecret is SESSION перед созданием и возвратом URL-адреса авторизации.

Когда вы регистрируете свое приложение в Twitter, вы указываете URL-адрес обратного вызова. Это страница, на которую пользователь будет перенаправлен после того, как пользователь авторизует ваше приложение в Twitter.

Когда вызывается URL-адрес обратного вызова, просто создайте токен доступа из токена запроса, хранящегося в SESSION sope.

<cfset AccessToken = Twitter.getOAuthAccessToken(Session.oAuthRequestToken,Session.oAuthRequestTokenSecret) />

и сохраните Token и TokenSecret в базе данных:

<cfset Token = AccessToken.getToken() />
<cfset TokenSecret = AccessToken.getTokenSecret() />

Надеюсь это поможет

person Philip P.    schedule 20.08.2011