0

我正在尝试根据位置搜索推文

我已经编写了以下代码以按标签搜索

Twitter.get('search/tweets', {  q: '#javascript since:7 days', count: 100 }, function (err, data, response) {
      if(!err) { res.send(data.statuses); }
      })

以同样的方式,我试图在以下数据中按位置搜索。我没有找到合适的关键字来按位置搜索。

 { statuses:
  [ { created_at: 'Mon Aug 19 03:01:56 +0000 2019',
   id: 1163284936125759500,
   id_str: '1163284936125759490',
   text:
    'THE <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7019343f3c3d3023243522">',
   truncated: true,
   entities: [Object],
   metadata: [Object],
   source:
    '<a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>',
   in_reply_to_status_id: null,
   in_reply_to_status_id_str: null,
   in_reply_to_user_id: null,
   in_reply_to_user_id_str: null,
   in_reply_to_screen_name: null,
   user: [Object],
   geo: null,
   coordinates: null,
   place: null,
   contributors: null,
   is_quote_status: false,
   retweet_count: 0,
   favorite_count: 1,
   favorited: false,
   retweeted: false,
   lang: 'en' }]}

我们如何搜索。请帮忙

4

1 回答 1

1

Twitter API 允许您指定地理编码参数以搜索位于给定纬度/经度的给定半径的用户的推文。参数值由“latitude,longitude,radius”指定,其中半径单位必须指定为“mi”(英里)或“km”(公里)。

Twitter API 文档中有更多详细信息

// Look for tweets from users within 100km of London
let loc = "51.5074,0.1278,100km";
Twitter.get('search/tweets', {  q: '#javascript since:7 days', geocode: loc, count: 10 }, function (err, data, response) {
    if(!err) { res.send(data.statuses); }
})

您还可以查看返回的推文对象的 user.location 属性(例如 tweet.user.location)。

于 2019-08-22T07:31:20.173 回答