Как отправлять прямые сообщения из Screen_Name приложения через OAuth (Twitter)

StackOverflow https://stackoverflow.com/questions/4320911

Вопрос

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

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, когда что -то происходит в вашей учетной записи. Любой ввод, ресурсы, ссылки или образцы кода очень ценятся :)

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top