Как отправить твиттер прямые сообщения от имени вошедшего в систему пользователя? - PullRequest
2 голосов
/ 08 марта 2012

У меня есть твиттер-приложение с уровнем доступа «Чтение, запись и отправка сообщений»

Я использую omniauth-twitter gem вместе с devise, чтобы пользователи могли зарегистрироваться и войти на мой сайт через твиттер,До сих пор все в порядке.

Было бы неплохо, если бы пользователь мог отправлять прямые сообщения своим подписчикам.

Чтобы получить список подписчиков, я использую twitter gem.Теперь, как я могу позволить пользователю отправить сообщение, которое он хочет?

Я пробовал почти все, но все возвращает This application is not allowed to access or delete your direct messages ошибку.Это убивало меня за последнюю неделю

Когда я делаю Twitter.verify_credentials, ошибка не возникает и объект User возвращается.Но когда я звоню Twitter.direct_messages, вышеупомянутые ошибки возникают.Я что-то упускаю здесь очевидное?

Заранее спасибо.

Обновление: Когда я попробовал Twitter.direct_message_create(), это сработало как шарм!Хотелось бы узнать, почему Twitter.direct_messages не работает.

Ответы [ 3 ]

1 голос
/ 22 апреля 2012

Чтобы ответить на ваш вопрос об обновлении:

Обновление: когда я попробовал Twitter.direct_message_create (), это работало как чудо.Хотелось бы узнать, почему Twitter.direct_messages не работает.

Twitter.direct_message(id)

Используется для извлечения существующих DM, тогда как:

Twitter.direct_message_create(user, text)

используется для отправкиDM.

Смотрите здесь: http://rubydoc.info/github/jnunemaker/twitter/master/Twitter/Client/DirectMessages

1 голос
/ 12 марта 2012

Проверьте https://twitter.com/settings/applications, чтобы убедиться, что разрешения DM действительно авторизованы. Если нет, отозвать и авторизовать. Убедитесь, что токены OAuth, предоставленные учетной записью приложению, действительно включают доступ к DM. Иногда приложение не имеет доступа к DM, токены OAuth будут авторизованы, затем доступ к DM добавляется в настройки приложения, а токен OAuth для учетной записи не имеет доступа к DM.

0 голосов
/ 16 августа 2014

В качестве обновления ответа @ auxbuss метод был переименован в:

Twitter.create_direct_message(user,text,options={})

Документация также перемещена: http://rubydoc.info/github/sferik/twitter/master/Twitter/REST/DirectMessages.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...