The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Google::Plus - simple interface to Google+

SYNOPSIS

  use Google::Plus;
  use v5.10.1;

  my $plus = Google::Plus->new(key => $your_gplus_api_key);

  # get a person's profile
  my $user_id = '112708775709583792684';
  my $person  = $plus->person($user_id);
  say "Name: ", $person->{displayName};

  # get this person's activities
  my $activities = $plus->activities($user_id);
  while ($activities->{nextPageToken}) {
    my $next = $activities->{nextPageToken};
    for my $item (@{$activities->{items}}) {
      ...;
    }
    $activities = $plus->activities($user_id, $next);
  }

  # get a specific activity
  my $post = 'z13uxtsawqqwwbcjt04cdhsxcnfyir44xeg';
  my $act  = $plus->activity($post);
  say "Activity: ", $act->{title};

DESCRIPTION

This module lets you access Google+ people profiles and activities from Perl. Currently, only access to public data is supported; authenticated requests for me and other private data will follow in a future release.

This module is alpha software, use at your own risk.

ATTRIBUTES

key

  my $key = $plus->key;
  my $key = $plus->key('xxxxNEWKEYxxxx');

Google+ API key, used for retrieving content. Usually set using "new".

ua

  my $ua = $plus->ua;
  my $ua = $plus->ua(Mojo::UserAgent->new);

User agent object that retrieves JSON from the Google+ API endpoint. Defaults to a Mojo::UserAgent object. This object will use HTTP/HTTPS proxies when available (via HTTP_PROXY and HTTPS_PROXY environment variables.)

METHODS

Google::Plus implements the following methods:

new

  my $plus = Google::Plus->new(key => $google_plus_api_key);

Construct a new Google::Plus object. Needs a valid Google+ API key, which you can get at https://code.google.com/apis/console.

person

  my $person = $plus->person('userId');
  my $person = $plus->person('userId', 'fields');

Get a Google+ person's public profile. Returns a Mojo::JSON decoded hashref describing the person's profile in Portable Contacts format. If fields is given, limit response to the specified fields; see the Partial Responses section of https://developers.google.com/+/api.

activities

  my $acts = $plus->activities('userId');
  my $acts = $plus->activities('userId', 'collection');
  my $acts = $plus->activities('userId', 'collection', nextPage');
  my $acts = $plus->activities('userId', 'collection', nextPage', 'fields');

Get person's list of public activities, returning a Mojo::JSON decoded hashref describing the person's activities in Activity Streams format; this method also accepts requesting partial responses if fields is given. If collection is given, use that as the collection of activities to list; the default is to list public activities instead. If a nextPage token is given, this method retrieves the next page of activities this person has.

activity

  my $post = $plus->activity('activityId')
  my $post = $plus->activity('activityId', fields');

Get a specific activity/post. Returns a Mojo::JSON decoded hashref describing the activity in Activity Streams format. If fields is given, limit response to specified fields.

SEE ALSO

DEVELOPMENT

This project is hosted on Github, at https://github.com/zakame/perl-google-plus. Post issues to CPAN RT.

AUTHOR

Zak B. Elep, zakame@cpan.org

COPYRIGHT AND LICENSE

This software is Copyright (c) 2011, Zak B. Elep.

This is free software, you can redistribute it and/or modify it under the same terms as Perl language system itself.