Twitter4J, JQuery, Coldfusion интеграции - PullRequest
0 голосов
/ 18 августа 2011

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

У меня есть CFC с основными необходимыми функциями.Например, после jquery вызывает функцию cfc, которая генерирует requestURL и открывает окно авторизации 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?

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

1 Ответ

0 голосов
/ 20 августа 2011

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

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

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

Таким образом, чтобы ответить на ваш вопрос, я бы предположил, что это сработает, будет хранить ваши oAuthRequestToken и oAuthRequestTokenSecret область действия 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() />

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

...