users.go 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package anaconda
  2. import (
  3. "net/url"
  4. "strconv"
  5. )
  6. func (a TwitterApi) GetUsersLookup(usernames string, v url.Values) (u []User, err error) {
  7. v = cleanValues(v)
  8. v.Set("screen_name", usernames)
  9. response_ch := make(chan response)
  10. a.queryQueue <- query{a.baseUrl + "/users/lookup.json", v, &u, _GET, response_ch}
  11. return u, (<-response_ch).err
  12. }
  13. func (a TwitterApi) GetUsersLookupByIds(ids []int64, v url.Values) (u []User, err error) {
  14. var pids string
  15. for w, i := range ids {
  16. //pids += strconv.Itoa(i)
  17. pids += strconv.FormatInt(i, 10)
  18. if w != len(ids)-1 {
  19. pids += ","
  20. }
  21. }
  22. v = cleanValues(v)
  23. v.Set("user_id", pids)
  24. response_ch := make(chan response)
  25. a.queryQueue <- query{a.baseUrl + "/users/lookup.json", v, &u, _GET, response_ch}
  26. return u, (<-response_ch).err
  27. }
  28. func (a TwitterApi) GetUsersShow(username string, v url.Values) (u User, err error) {
  29. v = cleanValues(v)
  30. v.Set("screen_name", username)
  31. response_ch := make(chan response)
  32. a.queryQueue <- query{a.baseUrl + "/users/show.json", v, &u, _GET, response_ch}
  33. return u, (<-response_ch).err
  34. }
  35. func (a TwitterApi) GetUsersShowById(id int64, v url.Values) (u User, err error) {
  36. v = cleanValues(v)
  37. v.Set("user_id", strconv.FormatInt(id, 10))
  38. response_ch := make(chan response)
  39. a.queryQueue <- query{a.baseUrl + "/users/show.json", v, &u, _GET, response_ch}
  40. return u, (<-response_ch).err
  41. }
  42. func (a TwitterApi) GetUserSearch(searchTerm string, v url.Values) (u []User, err error) {
  43. v = cleanValues(v)
  44. v.Set("q", searchTerm)
  45. // Set other values before calling this method:
  46. // page, count, include_entities
  47. response_ch := make(chan response)
  48. a.queryQueue <- query{a.baseUrl + "/users/search.json", v, &u, _GET, response_ch}
  49. return u, (<-response_ch).err
  50. }
  51. func (a TwitterApi) GetUsersSuggestions(v url.Values) (u []User, err error) {
  52. v = cleanValues(v)
  53. // Set other values before calling this method:
  54. // page, count, include_entities
  55. response_ch := make(chan response)
  56. a.queryQueue <- query{a.baseUrl + "/users/suggestions.json", v, &u, _GET, response_ch}
  57. return u, (<-response_ch).err
  58. }
  59. // PostUsersReportSpam : Reports and Blocks a User by screen_name
  60. // Reference : https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam
  61. // If you don't want to block the user you should add
  62. // v.Set("perform_block", "false")
  63. func (a TwitterApi) PostUsersReportSpam(username string, v url.Values) (u User, err error) {
  64. v = cleanValues(v)
  65. v.Set("screen_name", username)
  66. response_ch := make(chan response)
  67. a.queryQueue <- query{a.baseUrl + "/users/report_spam.json", v, &u, _POST, response_ch}
  68. return u, (<-response_ch).err
  69. }
  70. // PostUsersReportSpamById : Reports and Blocks a User by user_id
  71. // Reference : https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam
  72. // If you don't want to block the user you should add
  73. // v.Set("perform_block", "false")
  74. func (a TwitterApi) PostUsersReportSpamById(id int64, v url.Values) (u User, err error) {
  75. v = cleanValues(v)
  76. v.Set("user_id", strconv.FormatInt(id, 10))
  77. response_ch := make(chan response)
  78. a.queryQueue <- query{a.baseUrl + "/users/report_spam.json", v, &u, _POST, response_ch}
  79. return u, (<-response_ch).err
  80. }