2016-06-24 8 views
0

ダイレクトメッセージングを有効にした特定のユーザーの後にユーザーのリストを取得するために、twitter4j(Java)を使用しようとしています。このような何か...twitter APIダイレクトメッセージングを有効にしているユーザーを特定する

IDs followerIDs = twitter.getFollowersIDs(someTwitterScreenName, -1); 
long[] ids = followerIDs.getIDs(); 
for (long id : ids) { 

    twitter4j.User user = twitter.showUser(id); 

    String userScreenName = user.getScreenName(); 
    String realName = user.getName(); 

    //I'm hoping for something like... 
    ///Boolean directMessagingEnabled = user.messagingEnabled();    
} 

唯一の問題は、私は、適切な音twitter4j.Userオブジェクトに関連付けられたすべての属性を見つけることができません(ともAPIドキュメントのそれへの参照を見つけることができないということです)。プログラムでこれらのタイプのユーザーを見つけるための方法があるかどうかは知っていますか?または、おそらくTwitterは意図的にそれを除外しましたか?どんな考えにも感謝します。

------ EDIT -----

ゆりからドキュメントリンクは、Twitterの従業員から、この応答に私を導いた:「ユーザーがすべてからのDMを受け入れるかどうかの確認を経て公衆利用できませんAPI。あなたが信頼できるパートナーであれば、直接のTwitterの連絡先を介して詳細を調べてください。 (https://twittercommunity.com/t/how-can-i-tell-which-users-the-current-user-can-send-messages-to/36127/4

はまた、使用してすでに認証されたユーザーのためのDMの状態を取得することが可能であることに気づいた ")AccountSettings.getAccountSettingsを(。allow_dms_from"

答えて

1

これは

https://dev.twitter.com/rest/reference/post/direct_messages/new

ここで議論されています

あなたが申請できるアクセス権のホワイトリストがあります。

しかし、ほとんどの場合、必要なものはすべてそろっているようです。あなたのアカウントに続くユーザーは、通常あなたからDMを受け取ることができます。これは、ユーザーが最初にDMしたか、誰からのDMを受け入れるかをカバーしていません。

しかし、おそらく、失敗を送信して検査するのが最も簡単です。

+0

お返事ありがとうございました。私の投稿にちょっとした情報を追加しました – d3wannabe