All Projects → lazywinadmin → MeetupPS

lazywinadmin / MeetupPS

Licence: MIT license
PowerShell module to interact with Meetup.com API

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to MeetupPS

JB2A DnD5e
Templates of spells from the DnD5e ruleset (SRD and PHB), to use on FoundryVTT
Stars: ✭ 28 (+86.67%)
Mutual labels:  module
puppetlabs-docker
The Puppet Docker repository
Stars: ✭ 78 (+420%)
Mutual labels:  module
icingaweb2-module-fileshipper
Provide CSV, JSON, XML and YAML files as an Import Source for the Icinga Director and optionally ship hand-crafted additional Icinga2 config files
Stars: ✭ 25 (+66.67%)
Mutual labels:  module
code-of-conduct
The ReactVienna Code of Conduct
Stars: ✭ 15 (+0%)
Mutual labels:  meetup
sp
BeerJS: São Paulo, Brazil
Stars: ✭ 12 (-20%)
Mutual labels:  meetup
automatic-vendor-federation
Utility to enable automatic vendor sharing within bundles using Module Federation
Stars: ✭ 69 (+360%)
Mutual labels:  module
zscilib
An open-source scientific computing library for embedded systems running Zephyr OS or standalone.
Stars: ✭ 85 (+466.67%)
Mutual labels:  module
bump
a tiny tool to bump nimble versions 🍻
Stars: ✭ 23 (+53.33%)
Mutual labels:  module
ZfSnapGeoip
Maxmind Geoip module for Zend Framework 2
Stars: ✭ 15 (+0%)
Mutual labels:  module
diffusion-maps
Fast computation of diffusion maps and geometric harmonics in Python
Stars: ✭ 36 (+140%)
Mutual labels:  module
HttpsUtility
A basic HTTPS utility S# module.
Stars: ✭ 45 (+200%)
Mutual labels:  module
netdev stdlib
Netdev is a vendor-neutral network abstraction framework maintained by Puppet, Inc
Stars: ✭ 30 (+100%)
Mutual labels:  module
nyc-infosec
Mapping the NYC Infosec Community
Stars: ✭ 41 (+173.33%)
Mutual labels:  meetup
icingaweb2-module-businessprocess
Create top-level views of your applications in a graphical editor. Rules express dependencies between existing hosts and services and let you alert on application level. Business processes are displayed in a tree or list overview.
Stars: ✭ 106 (+606.67%)
Mutual labels:  module
hackergarten.github.io
Hackgarten Homepage
Stars: ✭ 17 (+13.33%)
Mutual labels:  meetup
maze generator
A work-in-progress Javascript maze generator module, compatible with both Deno and Node. 🌽
Stars: ✭ 35 (+133.33%)
Mutual labels:  module
karachi
Repository for organizing the karachi nodeschools events
Stars: ✭ 21 (+40%)
Mutual labels:  meetup
meetup
📢 Repositorio dedicado a todo lo relacionado a la meetup
Stars: ✭ 23 (+53.33%)
Mutual labels:  meetup
ppa6-python
Python module and documentation for direct printing on Peripage A6 / A6+ thermal printer via bluetooth
Stars: ✭ 37 (+146.67%)
Mutual labels:  module
atomic-calendar-revive
An advanced calendar card for Home Assistant Lovelace.
Stars: ✭ 218 (+1353.33%)
Mutual labels:  module

MeetupPS

Build Status

PowerShell module to interact with the Meetup.com API

image-center

Contribute

Contributions are welcome by using pull request and issues.

Table of Contents

Install

Install the module from the PowerShell Gallery.

Install-Module -Name MeetupPS

Configure connection

Follow the following steps to request a Oauth Key/Secret. Fortunately you only need to do this once.

Register a new Oauth Consumer on the Meetup API Oauth Consumer portal

  • Consumer Name Provide a name for your Oauth Consumer
  • Application Website Here I used https://github.com/lazywinadmin/MeetupPS
  • Redirect URI Here I used https://github.com/lazywinadmin/MeetupPS
  • Agree with terms

image-center

Once the Oauth Consumer is created, copy the Key and the Secret. This will be used to authenticate against the API

image-center

Connecting to the Meetup.com API

# Connect against Meetup.com API
$Key = '<Your Oauth Consumer Key>'
$Secret = '<Your Oauth Consumer Secret>'
Set-MeetupConfiguration -ClientID $Key -Secret $Secret

image-center

Note: This will leverage two private functions of the module:

  • Get-OauthCode
  • Get-OauthAccessToken

This will then prompt you to connect to Meetup.

image-center

Get Group information

Retrieve a Meetup group information

Get-MeetupGroup -Groupname FrenchPSUG

image-center

Get Events information

Upcoming events

Retrieve upcoming event(s) for a Meetup group

Get-MeetupEvent -Groupname FrenchPSUG -status upcoming

Past events

Retrieve past event(s) for a Meetup group

Get-MeetupEvent -GroupName FrenchPSUG -status past -page 2

image-center

Get-MeetupEvent -GroupName FrenchPSUG -status past |
Format-List -property Name,local_date,link, yes_rsvp_count

image-center

Create Event

New-MeetupEvent `
    -GroupName FrenchPSUG `
    -Title 'New Event from MeetupPS' `
    -Time '2018/06/01 3:00pm' `
    -Description "PowerShell WorkShop<br><br>In this session we'll talk about ..." `
    -PublishStatus draft

image-center

Here is the event created in Meetup

image-center

API permission scopes

The API permission scopes are set when the authentication occur in Get-OAuthAccessToken.

Currently it is requesting the following permission scopes: basic,reporting, event_management

More permission scopes are available here: https://www.meetup.com/meetup_api/auth/#oauth2-scopes

scope permission
ageless Replaces the one hour expiry time from oauth2 tokens with a limit of up to two weeks
basic Access to basic Meetup group info and creating and editing Events and RSVP's, posting photos in version 2 API's and below
event_management Allows the authorized application to create and make modifications to events in your Meetup groups on your behalf
group_edit Allows the authorized application to edit the settings of groups you organize on your behalf
group_content_edit Allows the authorized application to create, modify and delete group content on your behalf
group_join Allows the authorized application to join new Meetup groups on your behalf
messaging Enables Member to Member messaging (this is now deprecated)
profile_edit Allows the authorized application to edit your profile information on your behalf
reporting Allows the authorized application to block and unblock other members and submit abuse reports on your behalf
rsvp Allows the authorized application to RSVP you to events on your behalf

You can take a look a the header passed to the API here:

$Headers = @{
    'X-OAuth-Scopes'          = "basic", "reporting", "event_management"
    'X-Accepted-OAuth-Scopes' = "basic", "reporting", "event_management"
}

See this line: Header of Get-OauthAccessToken

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].