Как отправлять прямые сообщения с экранного имени приложения через OAuth (Twitter) - PullRequest
0 голосов
/ 01 декабря 2010

Я немного запутался в этой, казалось бы, простой концепции. В основном я создаю веб-приложение, которое будет уведомлять пользователей через прямое сообщение Twitter, если со мной произошло событие в их аккаунте. Я строю это на PHP с CakePHP в качестве базовой структуры. Я хотел бы иметь возможность отправить прямое сообщение "из" приложения через oAuth. Я использовал консоль Twurl (на http://dev.twitter.com/console) для отправки запроса POST через

http://api.twitter.com/1/direct_messages/new.xml?screen_name=<my screenname>&text=<content of dm>

Когда я проверяю свою DM, я в основном получаю DM от себя. Это потому, что консоль Twurl использует ваше имя экрана при отправке материалов из приложений или потому, что при вызове direct_message / new.xml вы отправляете DM из своей учетной записи, которая была аутентифицирована в тестовом приложении в Twurl. В конце я хочу выполнить то же самое, что делает spontwts - уведомлять вас через DM, когда что-то происходит с вашей учетной записью. Любые входные данные, ресурсы, ссылки или примеры кода очень ценятся:)

Ответы [ 2 ]

1 голос
/ 13 сентября 2012

Вы можете отправить прямое сообщение через псевдоним ваших подписчиков по Где userID - это имя пользователя,

ConfigurationBuilder cb=new ConfigurationBuilder();

cb.setOAuthAccessToken("Your App Access Token");

cb.setOAuthAccessTokenSecret("Your App Token Secret");

cb.setOAuthConsumerKey("Your App ConsumerKey");

cb.setOAuthConsumerSecret("Your App ConsumerSecret");

cb.setIncludeRTsEnabled(true);


TwitterFactory tf=new TwitterFactory(cb.build());


Twitter twitter=tf.getInstance();

twitter.sendDirectMessage(userID, "Message");

И предоставьте в приложении разрешение на чтение / запись / прямое сообщение.

1 голос
/ 01 декабря 2010

Прежде всего, если вы хотите, чтобы ваше приложение взаимодействовало с Twitter, вам необходимо сначала его зарегистрировать. Документ Twitter точно объясняет, как это делается.

Получив токен доступа, следуйте протоколу авторизации OAuth версии 1 при получении токена доступа.Имея токен доступа, вы можете позвонить в защищенные ресурсы Twitter.Полный протокол (приведенный по ссылке выше) показывает, как этого добиться.Консоль может легко обойти протокол OAuth, поскольку вы прошли аутентификацию через Twitter (который вызывает OAuth, поставщик услуг).OAuth позволяет только поставщику услуг выполнять аутентификацию учетных данных клиента.

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

...