2012-03-08 5 views
2

は、私は、ユーザーがサインアップし、ツイッターを通じて自分のサイトにログインさせるためのdeviseに沿っomniauth-twitter宝石を使用していたアクセスレベル「読み取り、書き込み、およびダイレクトメッセージ」ログインしたユーザーの代わりにTwitterのダイレクトメッセージを送信するにはどうすればよいですか?

とTwitterアプリを持っています。今まではすべてが問題ありません。

ユーザーが自分のフォロワーに直接メッセージを送信できるのはうれしいことです。

フォロワーのリストを取得するには、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がうまくいかなかった理由を知りたいですか?

+0

私は可能な限り明快でした。私が精緻化しなければならないか教えてください。 – ZX12R

+0

https://twitter.com/settings/applicationsをチェックして、DM権限が実際に承認されていることを確認してください。取り消して再認可しない場合 – abraham

+0

申し訳ありませんが、「承認する」とはどういう意味ですか?アプリのアクセスレベルには、「メッセージの読み取り、書き込み、および送信」と表示されます。これはあなたが意味することですか? – ZX12R

答えて

1

https://twitter.com/settings/applicationsを確認して、DMのアクセス許可が実際に承認されていることを確認してください。取り消して再認可しない場合OAuthトークンがアプリに実際にDMアクセスを含むアカウントを付与していることを確認してください。アプリにDMアクセス権がない場合は、OAuthトークンが承認され、DMアクセスがアプリ設定に追加され、アカウントのOAuthトークンにはDMアクセス権が付与されません。

1

あなたの更新の質問に答えるために:

アップデート:私は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

+0

私の問題は、メッセージを取得する権限がなく、作成する権限があることでした。 – ZX12R