2017-05-27 3 views
0

Ich erstelle eine Web-App, die eine Front-End-Javascript-Anfrage an die Meetup API, um eine Liste von Ereignissen zu erhalten, wird die Abfrage sein wird dynamisch mit den Benutzern lat/lng, der angegebenen Entfernung und einer Kategorie-ID von 34 (Tech) generiert.Meetup API - Auflistung von Ereignissen nach Kategorie, in einem Abstand von lat/lng - Javascript

Mit wirklichen Probleme dieser heraus stunden es gewesen herauszufinden, die API-Dokumentation ist schlecht - ich eine Liste von Ereignissen innerhalb einer bestimmten Entfernung (2 Meilen in diesem Beispiel) erhalten können von lat/lng:

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

aber ich kann nicht herausfinden, wie nur mit Kategorie diese Ereignisse zur Liste 34.

kann dies auf auf der Client-Seite durchgeführt wird - ist es möglich?

Jede Hilfe wäre sehr geschätzt, danke.

Antwort

0

Es sieht so aus, als müssten Sie fields das Feld group_category hinzufügen. Dann können Sie in Ihrer Antwort group Kategorien mit der id von 34 herausfiltern. Hier ist ein Beispiel, das ich zurück:

"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" 
}, 

Wie Sie unter group sehen dann category dann id gibt es 34. Von dem, was ich lese, glaube ich nicht, dass du einfach die Kategorien bekommst, die du willst. Sie können diese Antwort jedoch überarbeiten und die gesuchten Kategorien herausfiltern.

Und ja, Sie müssen die Antwort auf der Client-Seite filtern. So etwas sollte funktionieren:

const arrayOfOnly34 = Object.keys(result).reduce((acc, curr) => { 
    const value = result[curr] 
    if (value.group.category.id === 34) { 
    acc.push(value) 
    } 
    return acc 
}, []) 
+0

Vielen Dank für Ihre schnelle Antwort Adam - ich eine einfache Möglichkeit, dies zu erreichen, unter Verwendung der Version 2 get gefunden habe/2/open_events API-Methode, mit der Sie Kategorien angeben können –

Verwandte Themen