meetupr icon indicating copy to clipboard operation
meetupr copied to clipboard

get_members() returns meetup join date instead group join date

Open limegimlet opened this issue 7 years ago • 13 comments

find_groups('R-ladies Paris') returns id name urlname created members status organizer lat lon city 1 2.04e⁷ R-Ladi… rladies-… 2016-09-19 17:39:51 298 active Gabriela… 48.9 2.34 Paris

however get_members('rladies-paris') returns members with join dates prior to group create date! id name bio status joined city country state lat lon 1 8.37e⁶ Sarah… I miss skii… active 2008-11-15 22:13:36 Paris fr <NA> 48.9 2.34 2 1.45e⁷ Gabri… <NA> active 2011-04-20 00:57:39 San … us CA 37.8 -122

limegimlet avatar Feb 01 '18 21:02 limegimlet

@limegimlet Thanks for the report! I checked to make sure joined actually means "when the user joined the group" rather than "when the user joined meetup.com", and according to the docs, it sounds like it's supposed to be when they joined the group.

It seems to be a bug. What I see is that R-Ladies Paris was created on "2016-09-19 08:39:51 PDT" and I have verified that this date is correct, so then I checked the dates that people joined and I see this:

> mem <- get_members('rladies-paris')
> range(mem$joined)
[1] "2007-03-13 08:14:36 PDT" "2018-01-30 02:22:53 PST"

We do some parsing of the date (maybe it's being parsed incorrectly), and if that's not the issue then either the meetup.com API is returning the wrong values or their documentation is wrong (and it's actually showing the date they joined meetup.com).

You're the first entry in the members table, and it says you joined on "2008-11-15"... is that the date you joined meetup.com, by chance?

ledell avatar Feb 01 '18 22:02 ledell

Hi Erin,

Thanks for the quick follow-up and sorry for my the slow reply.

To answer your Q: Yes, indeed I joined meetup in 2008. I didn't join Rladies Paris until late 2016.

On a similar note, I see there is a bio column, but it seems to be coming from a different meetup group.

For example:

members[members$id=='10380708','bio']

returns:

1 Finance professional, keen on learning MA, especially classical Japa…'

But if you view the same person's profile (https://www.meetup.com/rladies-paris/members/10380708/)for our group, his intro shows:

Eager to learn as much R as possible

Thanks for your help Sarah

On Feb 1, 2018 23:13, "Erin LeDell" [email protected] wrote:

@limegimlet https://github.com/limegimlet Thanks for the report! I checked to make sure joined actually means "when the user joined the group" rather than "when the user joined meetup.com", and according to the docs https://www.meetup.com/meetup_api/docs/:urlname/members/#list, it is indeed when they joined the group.

It seems to be a bug. What I see is that R-Ladies Paris was created on "2016-09-19 08:39:51 PDT" and I have verified that this date is correct, so then I checked the dates that people joined and I see this:

mem <- get_members('rladies-paris') range(mem$joined) [1] "2007-03-13 08:14:36 PDT" "2018-01-30 02:22:53 PST"

We do some parsing of the date (maybe it's being parsed incorrectly), and if that's not the issue then either the meetup.com API is returning the wrong values or their documentation is wrong (and it's actually showing the date they joined meetup.com).

You're the first entry in the members table, and it says you joined on "2008-11-15"... is that the date you joined meetup.com, by chance?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rladies/meetupr/issues/20#issuecomment-362419847, or mute the thread https://github.com/notifications/unsubscribe-auth/AHcOFrhjBn-Z7sCvwMIniCT_r1Y0cFXBks5tQjcFgaJpZM4R2Vw5 .

limegimlet avatar Feb 07 '18 13:02 limegimlet

I started looking at reproducing this awhile ago, I'm digging that back up.

missaugustina avatar Apr 11 '18 22:04 missaugustina

I have reproduced and demonstrated this issue. The value you want is "group_profile.created".

http://rpubs.com/rladiespdx/meetup-member-dates

I also confirmed, the docs are weird.

Under Sort "joined" refers to sorting the member list by when the member joined the group: Sort joined Time member joined this group

Under Response:

joined Time member joined, represented as milliseconds since the epoch

Under Group Profile (I think this is what you want):

created The time this member joined the Group, represented as milliseconds since the epoch

missaugustina avatar Apr 11 '18 23:04 missaugustina

I need to look at the code to figure out what makes the most sense as far as a patch proposal.

missaugustina avatar Apr 11 '18 23:04 missaugustina

Removed help wanted since I'm working on this :)

missaugustina avatar Apr 12 '18 01:04 missaugustina

working on issue #31 so i can have test coverage for this one.

missaugustina avatar Apr 12 '18 04:04 missaugustina

@missaugustina, are you still working on this? Might it help if I had a look? I am not skilled with formal testing but I have used this package a great deal (please see http://bit.ly/2NEHVGn). So I could at least explore capturing group_profile.created.

RickPack avatar Mar 10 '19 20:03 RickPack

@missaugustina @RickPack Anyone have an update on this? Someone ran into this bug again today and so it reminded me to come here and check the status. Let me know and we can re-assign the issue if necessary. Thanks!

ledell avatar May 16 '19 19:05 ledell

I came to the same problem today, is there any updates?

orchid00 avatar Aug 19 '19 14:08 orchid00

I missed my name mention. This issue was not assigned to me. It looks like @missaugustina was going to address the issue.

RickPack avatar Aug 19 '19 18:08 RickPack

@RickPack @missaugustina @ledell I solved it doing this: 1 download json file of members per chapter 2. convert it to a csv 3. mutate the column group_profile.created mutate(date_joined = lubridate::floor_date(as.POSIXct( group_profile.created/1000, tz = "UTC", origin = "1970-01-01")))

I guess the the mutate on step 3 should be added to the function get_members, and that would be it.

orchid00 avatar Aug 20 '19 01:08 orchid00

@ledell what needs to happen here? Do we need to not use what the API returns for that date?

maelle avatar Mar 22 '21 13:03 maelle