# Google Play Game Services API . events

## Instance Methods

Returns a list showing the current progress on events in this application for the currently authenticated user.

Retrieves the next page of results.

Returns a list of the event definitions in this application.

Retrieves the next page of results.

Records a batch of changes to the number of times events have occurred for the currently authenticated user of this application.

### Method Details

`listByPlayer(pageToken=None, language=None, maxResults=None)`

    Returns a list showing the current progress on events in this application for the currently authenticated user.

    Args:
      pageToken: string, The token returned by the previous request.
      language: string, The preferred language to use for strings returned by this method.
      maxResults: integer, The maximum number of events to return in the response, used for paging. For any response, the actual number of events to return may be less than the specified maxResults.

    Returns:
      An object of the form:

        { # This is a JSON template for a ListByPlayer response.
        "nextPageToken": "A String", # The pagination token for the next page of results.
        "items": [ # The player events.
          { # This is a JSON template for an event status resource.
            "definitionId": "A String", # The ID of the event definition.
            "playerId": "A String", # The ID of the player.
            "kind": "games#playerEvent", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerEvent.
            "numEvents": "A String", # The current number of times this event has occurred.
            "formattedNumEvents": "A String", # The current number of times this event has occurred, as a string. The formatting of this string depends on the configuration of your event in the Play Games Developer Console.
          },
        ],
        "kind": "games#playerEventListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerEventListResponse.
      }

`listByPlayer_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`listDefinitions(pageToken=None, language=None, maxResults=None)`

    Returns a list of the event definitions in this application.

    Args:
      pageToken: string, The token returned by the previous request.
      language: string, The preferred language to use for strings returned by this method.
      maxResults: integer, The maximum number of event definitions to return in the response, used for paging. For any response, the actual number of event definitions to return may be less than the specified maxResults.

    Returns:
      An object of the form:

        { # This is a JSON template for a ListDefinitions response.
        "nextPageToken": "A String", # The pagination token for the next page of results.
        "items": [ # The event definitions.
          { # This is a JSON template for an event definition resource.
            "isDefaultImageUrl": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
            "kind": "games#eventDefinition", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventDefinition.
            "displayName": "A String", # The name to display for the event.
            "description": "A String", # Description of what this event represents.
            "imageUrl": "A String", # The base URL for the image that represents the event.
            "visibility": "A String", # The visibility of event being tracked in this definition.
                # Possible values are:
                # - "REVEALED": This event should be visible to all users.
                # - "HIDDEN": This event should only be shown to users that have recorded this event at least once.
            "childEvents": [ # A list of events that are a child of this event.
              { # This is a JSON template for an event child relationship resource.
                "kind": "games#eventChild", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventChild.
                "childId": "A String", # The ID of the child event.
              },
            ],
            "id": "A String", # The ID of the event.
          },
        ],
        "kind": "games#eventDefinitionListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventDefinitionListResponse.
      }

`listDefinitions_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`record(body, language=None)`

    Records a batch of changes to the number of times events have occurred for the currently authenticated user of this application.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # This is a JSON template for an event period update resource.
        "timePeriods": [ # A list of the time period updates being made in this request.
          { # This is a JSON template for an event period update resource.
            "kind": "games#eventPeriodUpdate", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodUpdate.
            "timePeriod": { # This is a JSON template for an event period time range. # The time period being covered by this update.
              "kind": "games#eventPeriodRange", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodRange.
              "periodStartMillis": "A String", # The time when this update period begins, in millis, since 1970 UTC (Unix Epoch).
              "periodEndMillis": "A String", # The time when this update period ends, in millis, since 1970 UTC (Unix Epoch).
            },
            "updates": [ # The updates being made for this time period.
              { # This is a JSON template for an event period update resource.
                "definitionId": "A String", # The ID of the event being modified in this update.
                "kind": "games#eventUpdateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventUpdateRequest.
                "updateCount": "A String", # The number of times this event occurred in this time period.
              },
            ],
          },
        ],
        "kind": "games#eventRecordRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventRecordRequest.
        "requestId": "A String", # The request ID used to identify this attempt to record events.
        "currentTimeMillis": "A String", # The current time when this update was sent, in milliseconds, since 1970 UTC (Unix Epoch).
      }

      language: string, The preferred language to use for strings returned by this method.

    Returns:
      An object of the form:

        { # This is a JSON template for an event period update resource.
        "playerEvents": [ # The current status of any updated events
          { # This is a JSON template for an event status resource.
            "definitionId": "A String", # The ID of the event definition.
            "playerId": "A String", # The ID of the player.
            "kind": "games#playerEvent", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerEvent.
            "numEvents": "A String", # The current number of times this event has occurred.
            "formattedNumEvents": "A String", # The current number of times this event has occurred, as a string. The formatting of this string depends on the configuration of your event in the Play Games Developer Console.
          },
        ],
        "eventFailures": [ # Any failures updating a particular event.
          { # This is a JSON template for an event update failure resource.
            "eventId": "A String", # The ID of the event that was not updated.
            "kind": "games#eventRecordFailure", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventRecordFailure.
            "failureCause": "A String", # The cause for the update failure.
                # Possible values are:
                # - "NOT_FOUND" - An attempt was made to set an event that was not defined.
                # - "INVALID_UPDATE_VALUE" - An attempt was made to increment an event by a non-positive value.
          },
        ],
        "kind": "games#eventUpdateResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventUpdateResponse.
        "batchFailures": [ # Any batch-wide failures which occurred applying updates.
          { # This is a JSON template for a batch update failure resource.
            "kind": "games#eventBatchRecordFailure", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventBatchRecordFailure.
            "range": { # This is a JSON template for an event period time range. # The time range which was rejected; empty for a request-wide failure.
              "kind": "games#eventPeriodRange", # Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodRange.
              "periodStartMillis": "A String", # The time when this update period begins, in millis, since 1970 UTC (Unix Epoch).
              "periodEndMillis": "A String", # The time when this update period ends, in millis, since 1970 UTC (Unix Epoch).
            },
            "failureCause": "A String", # The cause for the update failure.
                # Possible values are:
                # - "TOO_LARGE": A batch request was issued with more events than are allowed in a single batch.
                # - "TIME_PERIOD_EXPIRED": A batch was sent with data too far in the past to record.
                # - "TIME_PERIOD_SHORT": A batch was sent with a time range that was too short.
                # - "TIME_PERIOD_LONG": A batch was sent with a time range that was too long.
                # - "ALREADY_UPDATED": An attempt was made to record a batch of data which was already seen.
                # - "RECORD_RATE_HIGH": An attempt was made to record data faster than the server will apply updates.
          },
        ],
      }