2017-11-15 19 views
1

rtweetパッケージを使用して、2人のユーザー間の関係を分析するためにTwitter REST APIからGET friendships/showへのリクエストを実行する方法を見つけようとしました。しかし、私はそれを働かせることができませんでした(私はlookup_friendships()を見つけましたが、それは私が欲しいことをしません)。 rtweetでそれを行うことは可能ですか?もしそうなら、どうですか?rtweetで友人関係を見る/ショー

答えて

1

この機能はrtweetに追加されましたので、「友情/ショー」lookup_friendships() -and、ボーナス経由でAPIに少なくとも多少合理的なアクセスがあるはず、それが今CRANに今バージョン0.6.0に受け入れられてしまいました!

必要な入力は、sourcetarget(画面名またはユーザーIDにすることができます)です。 1人のユーザーのみがsourceまたはtargetのいずれかに指定されている場合、Twitter APIのレート制限を保存している任意の数のユーザーを他のパラメータに渡すことができます。

fds <- lookup_friendships(
    source = "realDonaldTrump", 
    target = c("DRUDGE_REPORT", "seanhannity", "HuffPost", "maddow", "cnn") 
) 
> fds 
# A tibble: 60 x 4 
    relationship   user  variable   value 
      <chr>   <chr>   <chr>   <chr> 
1  source DRUDGE_REPORT    id  25073877 
2  source DRUDGE_REPORT   id_str  25073877 
3  source DRUDGE_REPORT screen_name realDonaldTrump 
4  source DRUDGE_REPORT  following   TRUE 
5  source DRUDGE_REPORT followed_by   FALSE 
6  source DRUDGE_REPORT live_following   FALSE 
7  source DRUDGE_REPORT   can_dm   FALSE 
8  target realDonaldTrump    id  14669951 
9  target realDonaldTrump   id_str  14669951 
10  target realDonaldTrump screen_name DRUDGE_REPORT 
# ... with 50 more rows 
> 

これは、両方のsourcetargetパラメータに複数のユーザを指定することも可能です。しかし、両方のパラメータの長さが1より大きい場合、ベクトルは同じ長さでなければなりません。

## vector of multiple users 
usrs <- c(
    "realDonaldTrump", "DRUDGE_REPORT", "seanhannity", "HuffPost", "maddow", "cnn" 
) 
fds <- lookup_friendships(
    source = usrs, 
    target = usrs 
) 
> fds 
# A tibble: 72 x 4 
    relationship   user  variable   value 
      <chr>   <chr>   <chr>   <chr> 
1  source realDonaldTrump    id  25073877 
2  source realDonaldTrump   id_str  25073877 
3  source realDonaldTrump screen_name realDonaldTrump 
4  source realDonaldTrump  following   FALSE 
5  source realDonaldTrump followed_by   FALSE 
6  source realDonaldTrump live_following   FALSE 
7  source realDonaldTrump   can_dm   TRUE 
8  target realDonaldTrump    id  25073877 
9  target realDonaldTrump   id_str  25073877 
10  target realDonaldTrump screen_name realDonaldTrump 
# ... with 62 more rows 

まだこれをテストする時間はあまりありませんでした。問題が発生した場合は、parse = FALSEを設定してみてください。返されたデータは、あなた自身で論じることになりますが、内部の解析でエラーが発生するのを防ぐのに役立ちます。

fds <- lookup_friendships(
     source = usrs, 
     target = usrs, 
     parse = FALSE 
    ) 
> str(fds, 3) 
List of 6 
$ realDonaldTrump:List of 1 
    ..$ relationship:List of 2 
    .. ..$ source:List of 16 
    .. ..$ target:List of 7 
$ DRUDGE_REPORT :List of 1 
    ..$ relationship:List of 2 
    .. ..$ source:List of 16 
    .. ..$ target:List of 7 
$ seanhannity :List of 1 
    ..$ relationship:List of 2 
    .. ..$ source:List of 16 
    .. ..$ target:List of 7 
$ HuffPost  :List of 1 
    ..$ relationship:List of 2 
    .. ..$ source:List of 16 
    .. ..$ target:List of 7 
$ maddow   :List of 1 
    ..$ relationship:List of 2 
    .. ..$ source:List of 16 
    .. ..$ target:List of 7 
$ cnn   :List of 1 
    ..$ relationship:List of 2 
    .. ..$ source:List of 16 
    .. ..$ target:List of 7 
0

get_friends()またはget_followers()の機能を使用することができます。

+0

これらは私が望むクエリを実行しません。 'get_friends()'は[GET friends/ids]を使用します(https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friends-ids )と 'get_followers()'は[follow followers/ids]を使用します(https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-followers -ids)。また、明確にするために、私はたくさんのことを即興にする解決策を探していません(私はhttr、httpuv、jsonliteを使って自分自身を動作させることができます)。実際に** rtweet **に実装されている便利なソリューションがあるかどうかは疑問でした。 – captain

+0

ああ、私は参照してください。私はあまりにも速くそれに飛び込んだ。簡単に[ドキュメンテーション](http://rtweet.info/reference/index.html)を見て、彼らはそのGET要求を実装したように見えません。 [ 'lookup_friendshipは()'](http://rtweet.info/reference/lookup_friendships.html)に最も近いかもしれませんが、それがあるだけで[ 'GET友情/ lookup'](https://github.com/mkearney/ rtweet/blob/master/R/friends.R#L272)の下に表示されます。機能要求を提出することはできますか? –

関連する問題