Skip to content

Commit

Permalink
fixes #137 (new getMembers function)
Browse files Browse the repository at this point in the history
  • Loading branch information
pablobarbera committed Jul 12, 2017
1 parent 0af6656 commit 0271880
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 1 deletion.
1 change: 1 addition & 0 deletions Rfacebook/ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,4 @@
- searchGroups now returns 25+ results
2017-07-11 - version 0.6.17
- getUsers now works with recent versions of API
- getMembers function added (thanks Yan Turgeon)
2 changes: 1 addition & 1 deletion Rfacebook/DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Description: Provides an interface to the Facebook API.
Version: 0.6.17
Date: 2017-07-11
Author: Pablo Barbera <[email protected]>, Michael Piccirilli
<[email protected]>, Andrew Geisler, Wouter van Atteveldt
<[email protected]>, Andrew Geisler, Wouter van Atteveldt, Yan Turgeon
Maintainer: Pablo Barbera <[email protected]>
URL: https://github.com/pablobarbera/Rfacebook
BugReports: https://github.com/pablobarbera/Rfacebook/issues
Expand Down
1 change: 1 addition & 0 deletions Rfacebook/NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export(getFriends)
export(getGroup)
export(getInsights)
export(getLikes)
export(getMembers)
export(getNetwork)
export(getNewsfeed)
export(getPage)
Expand Down
49 changes: 49 additions & 0 deletions Rfacebook/R/getMembers.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#' @rdname getMembers
#' @export
#' @title
#' Retrieve members from a public group
#'
#' @description
#' \code{getMembers} retrieves members from a public group, up to 5000 members.
#'
#' @param page A group ID
#'
#' @author
#' Yan Turgeon
#' @seealso \code{\link{getPage}}, \code{\link{getPost}}, \code{\link{getCommentReplies}}

#' @param token Either a temporary access token created at
#' \url{https://developers.facebook.com/tools/explorer} or the OAuth token
#' created with \code{fbOAuth}.
#'
#' @examples \dontrun{
#' ## Find Facebook ID for R-Users Facebook group
#' load("fb_oauth")
#' ids <- searchGroup(name="rusers", token=fb_oauth)
#' ids[1,] # id = 18533493739
#' ## Retrieves members ID for R-Users Facebook group
#' members <- getMembers(group_id="18533493739", token=fb_oauth)
#'}

getMembers <- function(group_id, token, n=5000, api=NULL){
url <- paste0('https://graph.facebook.com/', group_id,
'/members?fields=id,name,first_name,last_name,administrator&limit=', n)

# making query
content <- callAPI(url=url, token=token)

#if no data, return error message
if (length(content$data)==0){
message("No groups with this name were found.")
return(data.frame())
}

# if data, return a data frame
df <- data.frame(
name = unlist(lapply(content$data, '[[', 'name')),
id = unlist(lapply(content$data, '[[', 'id')),
administrator = unlist(lapply(content$data, '[[', 'administrator')),
stringsAsFactors=F)

return(df)
}
34 changes: 34 additions & 0 deletions Rfacebook/man/getMembers.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 0271880

Please sign in to comment.