Meetup API `scroll` parameter broken?

48 views
Skip to first unread message

Alessandro

unread,
May 23, 2016, 12:19:00 AM5/23/16
to Meetup API

Doug Tangren

unread,
May 23, 2016, 12:32:16 AM5/23/16
to meetup-api
On Thu, May 19, 2016 at 12:48 PM, Alessandro <alessand...@gmail.com> wrote:

--

Hi Alessandro,

The Meetup API defines  two supported values ( http://www.meetup.com/meetup_api/docs/:urlname/events/#listparams ) which users may supply for the scroll parameter. "next_upcoming" and "recent_past". Server generated values, like the one your referencing should be considered opaque strings. Can you let us know what the payload of the 400 error looks like? It should contain a code and a message describing the error.

--
You received this message because you are subscribed to the Google
Groups "Meetup API" group.
To unsubscribe from this group, send email to
meetup-api+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/meetup-api?hl=en?hl=en

---
You received this message because you are subscribed to the Google Groups "Meetup API" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetup-api+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alessandro

unread,
May 23, 2016, 9:45:05 AM5/23/16
to Meetup API
Hi Doug,
I forgot to add my access key in my previous request. Not much has changed after I fixed it yet I put here the new request just in case you can spot something.

$ http -v get "https://api.meetup.com/Nonviolent-Communication-NVC-London/events?scroll=since%3A2014-04-14T23%3A30%3A00.000%2B01%3A00&page=10&status=past&only=id"  "key==$MEETUP_API_KEY"
GET /Nonviolent-Communication-NVC-London/events?scroll=since%3A2014-04-14T23%3A30%3A00.000%2B01%3A00&page=10&status=past&only=id&key=[KEY REMOVED HERE] HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: api.meetup.com
User-Agent: HTTPie/0.9.2


HTTP/1.1 400 Bad Request
CF-RAY: 2a77afb110d84358-MXP
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 22
Content-Type: application/json;charset=utf-8
Date: Mon, 23 May 2016 10:04:53 GMT
ETag: "99914b932bd37a50b983c5e7c90ae93b"
Server: cloudflare-nginx
Set-Cookie: __cfduid=d14787e34acd120e876c4428ac71b903f1463997893; expires=Tue, 23-May-17 10:04:53 GMT; path=/; domain=.meetup.com; HttpOnly
Vary: Accept-Encoding,User-Agent,Accept-Language
X-Accepted-OAuth-Scopes: basic
X-Meetup-Request-ID: 1c46b950-2ac0-48e6-be5e-cbb6207a6c81
X-Meetup-server: api3
X-OAuth-Scopes: basic
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: 10

{}

Alessandro

unread,
May 23, 2016, 9:45:19 AM5/23/16
to Meetup API
Hi Doug,
here is the request/response logged out by `httpie` when I use the "next page" url as provided in the `Link` header. (the payload is an empty json object)
GET /Nonviolent-Communication-NVC-London/events?scroll=since%3A2014-04-14T23%3A30%3A00.000%2B01%3A00&page=10&status=past&only=id HTTP/1.1

Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: api.meetup.com
User-Agent: HTTPie/0.9.2

HTTP/1.1 400 Bad Request
CF-RAY: 2a77aa0273484316-MXP

Connection: keep-alive
Content-Encoding: gzip
Content-Length: 22
Content-Type: application/json;charset=utf-8
Date: Mon, 23 May 2016 10:01:00 GMT
ETag: "99914b932bd37a50b983c5e7c90ae93b"
Server: cloudflare-nginx
Set-Cookie: __cfduid=d598a2c0412741e38a9e0168de1fa84a61463997660; expires=Tue, 23-May-17 10:01:00 GMT; path=/; domain=.meetup.com; HttpOnly
Vary: Accept-Encoding,User-Agent,Accept-Language
X-Accepted-OAuth-Scopes: basic
X-Meetup-Request-ID: 3b2247ef-f22d-411c-a5c4-135bca17b729
X-Meetup-server: api11

X-OAuth-Scopes: basic
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: 10

{}



On Monday, 23 May 2016 06:32:16 UTC+2, Doug Tangren wrote:

Doug Tangren

unread,
May 23, 2016, 10:06:14 AM5/23/16
to meetup-api
Hi Alessandro,

Something dose seem to be amiss here. If you take off the only=id part of that url you'll get the full error message. I'll file a ticket to investigate further. Thank you for reporting the issue.
 

On Monday, 23 May 2016 06:32:16 UTC+2, Doug Tangren wrote:
On Thu, May 19, 2016 at 12:48 PM, Alessandro <alessand...@gmail.com> wrote:

--

Hi Alessandro,

The Meetup API defines  two supported values ( http://www.meetup.com/meetup_api/docs/:urlname/events/#listparams ) which users may supply for the scroll parameter. "next_upcoming" and "recent_past". Server generated values, like the one your referencing should be considered opaque strings. Can you let us know what the payload of the 400 error looks like? It should contain a code and a message describing the error.

--
You received this message because you are subscribed to the Google
Groups "Meetup API" group.
To unsubscribe from this group, send email to
meetup-api+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/meetup-api?hl=en?hl=en

---
You received this message because you are subscribed to the Google Groups "Meetup API" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetup-api+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--

Alessandro

unread,
May 24, 2016, 10:09:17 AM5/24/16
to Meetup API
Thanks for the quick follow-up, I'm happy to see some progress!

I took off the "only=id" part and I see the error

{
    "errors": [
        {
            "code": "scroll_error",
            "field": "scroll",
            "message": "scroll must be one of the following values recent_past, next_upcoming"
        }
    ]
}

Which suggests something is broken in the pagination mechanism.
In fact the url I'm using is the one returned in the `Link` header, marked with "rel=next", according with what's said on https://secure.meetup.com/meetup_api/ paragraph "Version 3 JSON".

Here is the response of the first page of results.

$ http -v get "https://api.meetup.com/Nonviolent-Communication-NVC-London/events?page=1&status=past&only=id"  "key==$MEETUP_API_KEY"
GET /Nonviolent-Communication-NVC-London/events?page=1&status=past&only=id&key=[KEY REMOVED HERE] HTTP/1.1

Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: api.meetup.com
User-Agent: HTTPie/0.9.2

HTTP/1.1 200 OK
CF-RAY: 2a792b00054b0e06-MXP
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 43
Content-Type: application/json;charset=utf-8
Date: Mon, 23 May 2016 14:23:50 GMT
ETag: "109e9eacdff23cb9852c89c096942c0a"
Link: <https://api.meetup.com/Nonviolent-Communication-NVC-London/events?scroll=since%3A2013-04-08T23%3A30%3A00.000%2B01%3A00&page=1&status=past&only=id>; rel="next"
Server: cloudflare-nginx
Set-Cookie: __cfduid=dd79ca54285ab94cf16adf48cc9ec1ed91464013429; expires=Tue, 23-May-17 14:23:49 GMT; path=/; domain=.meetup.com; HttpOnly
Vary: Accept-Encoding,User-Agent,Accept-Language
X-Accepted-OAuth-Scopes: basic
X-Meetup-Request-ID: 67d19e42-c992-4192-bd08-181cbf6e97ba
X-Meetup-server: api13
X-OAuth-Scopes: basic
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 28
X-RateLimit-Reset: 1
X-Total-Count: 140

[
    {
        "id": "dgrfpfyrgblb"
    }
]

Hope this helps

Doug Tangren

unread,
May 24, 2016, 10:42:02 AM5/24/16
to meetu...@googlegroups.com
I think I've found the issue. The "+" in the utc offset is not properly being parsed on our servers for this parameter value. This is handled for cases with negative offsets ( "-" )


We'll try to get the fix for this out soon

Alessandro

unread,
May 26, 2016, 2:36:21 PM5/26/16
to Meetup API
Good to hear, Doug! May I follow the progress for this fix somewhere apart this group?

Thanks

Doug Tangren

unread,
May 26, 2016, 2:36:45 PM5/26/16
to meetu...@googlegroups.com
On Thu, May 26, 2016 at 12:42 PM, Alessandro <alessand...@gmail.com> wrote:
Good to hear, Doug! May I follow the progress for this fix somewhere apart this group?


I'll post a message here with the fix goes live

Doug Tangren

unread,
Jun 6, 2016, 9:49:18 AM6/6/16
to meetu...@googlegroups.com
On Thu, May 26, 2016 at 2:36 PM, Doug Tangren <do...@meetup.com> wrote:


On Thu, May 26, 2016 at 12:42 PM, Alessandro <alessand...@gmail.com> wrote:
Good to hear, Doug! May I follow the progress for this fix somewhere apart this group?


I'll post a message here with the fix goes live

This issue should now be fixed.

Alessandro

unread,
Jun 9, 2016, 9:46:36 AM6/9/16
to Meetup API
I confirm it now works. Thanks
Reply all
Reply to author
Forward
0 new messages