0

我正在创建一个 Web 应用程序,它向 Meetup API 发出前端 javascript 请求以获取事件列表,查询将使用用户 lat/lng、指定距离和 34 的类别 ID 动态生成(技术)。

解决这个问题已经持续了几个小时,API 文档很差——我可以从 lat/lng 获取指定距离(本例中为 2 英里)内的事件列表:

https://api.meetup.com/find/events?photo-host=public&sig_id=my_id&radius=2&lon=-3.1883&lat=55.9533&sig=my_api_key

但我不知道如何只列出类别 34 的那些事件。

这可以在客户端完成 - 可能吗?

任何帮助将不胜感激,谢谢。

4

2 回答 2

0

看起来您必须添加到fields该字段group_category。然后在您的回复中,您可以使用of过滤掉group类别。这是我回来的一个例子:id34

"10": {
  "created": 1476031548000,
  "duration": 25200000,
  "id": "pqnnbmywhblc",
  "name": "The Sunday Hack Shack WorkShop",
  "status": "upcoming",
  "time": 1495987200000,
  "updated": 1476031548000,
  "utc_offset": -14400000,
  "waitlist_count": 0,
  "yes_rsvp_count": 4,
  "group": {
  "created": 1386453720000,
    "name": "Pinellas Hack Shack",
    "id": 11376752,
    "join_mode": "open",
    "lat": 27.84000015258789,
    "lon": -82.72000122070312,
    "urlname": "Pinellas-Hack-Shack",
    "who": "Twidgits",
    "category": {
      "id": 34,
      "name": "Tech",
      "shortname": "Tech",
      "sort_name": "Tech"
    }
  },
  "link": "https://www.meetup.com/Pinellas-Hack-Shack/events/240185831/",
  "description": "<p>This is the Sunday General Workshop.  Come in, work on anything you like!</p> ",
  "visibility": "public"
},

正如您在groupthen下看到的category那样。从我读到的内容,我认为你不能只获得你想要的类别。但是您可以映射此响应并过滤掉您正在寻找的类别。id34

是的,您必须在客户端过滤响应。像这样的东西应该工作:

const arrayOfOnly34 = Object.keys(result).reduce((acc, curr) => {
  const value = result[curr]
  if (value.group.category.id === 34) {
    acc.push(value)
  }
  return acc
}, [])
于 2017-05-27T23:13:48.970 回答
0

我实现这一点的方法是使用版本 2 get/2/open_events API 方法,该方法允许您指定类别(以及许多其他参数)。

Meetup API 控制台中此方法的链接是:

https://secure.meetup.com/meetup_api/console/?path=/2/open_events

于 2017-05-28T23:06:09.633 回答