Обновление статуса твиттера без запроса пользователя, использующего чистый JavaScript - PullRequest
1 голос
/ 07 августа 2011

У меня есть веб-приложение, в котором люди могут войти через твиттер, и в зависимости от их предпочтений и событий DOM мне нужно обновить свой статус в твиттере.У меня есть хорошая идея, как сделать это на стороне сервера, но для этого проекта я не использую какой-либо код на стороне сервера, так как я могу сделать это, просто используя javascript, @anywhere twitter api и твиттер-намерения, которые ведут меня никуда, потому чтоони просят пользователя отправить твит, который я не хочу.

Ответы [ 2 ]

3 голосов
/ 31 декабря 2011

Чистое решение Javascript для использования Twitter API невозможно без ущерба для секретного ключа вашего потребителя. API Twitter аутентифицирует каждый запрос с использованием токена HMAC-SHA1, токен SHA1 генерируется с использованием открытого / закрытого ключа, назначенного Twitter вашей учетной записи API. Если вы планируете сгенерировать этот токен с использованием чисто реализации SHA1 на javascript, то это означает, что вы будете выставлять свой закрытый ключ в коде javascript, который может посмотреть каждый.

Хотя технически это возможно (при условии, что вы можете найти библиотеку javascript, которая реализует SHA1), это не рекомендуется.

FYI, метод jQuery.Ajax позволяет изменять заголовки запроса ajax, используя метод beforeSend (jqXHR, settings).

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

Вы должны быть в состоянии сделать это с помощью запроса AJAX POST к API REST.Документация: https://dev.twitter.com/docs/api/1/post/statuses/update

Вы задаете URL-адрес http://api.twitter.com/1/statuses/update.format, где format может иметь значение xml или json и отражает формат ответа.Необходимые данные - это текст состояния, и есть несколько необязательных параметров, которые я не буду здесь перечислять.Это работает только для аутентифицированного пользователя.

(непроверенный) пример использования jQuery:

var message = "This is a tweet, there are many like it but this one is mine";

$.ajax({
    type: "POST",
    url: "http://api.twitter.com/1/statuses/update.json",
    data: "status="+message,
    datatype: "json"
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...