# Google Play Game Services API . quests

## Instance Methods

Indicates that the currently authorized user will participate in the quest.

Get a list of quests for your application and the currently authenticated player.

Retrieves the next page of results.

### Method Details

`accept(questId, language=None)`

    Indicates that the currently authorized user will participate in the quest.

    Args:
      questId: string, The ID of the quest. (required)
      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 a Quest resource.
        "kind": "games#quest", # Uniquely identifies the type of this resource. Value is always the fixed string games#quest.
        "milestones": [ # The quest milestones.
          { # This is a JSON template for a Quest Milestone resource.
            "state": "A String", # The current state of the milestone.
                # Possible values are:
                # - "COMPLETED_NOT_CLAIMED" - The milestone is complete, but has not yet been claimed.
                # - "CLAIMED" - The milestone is complete and has been claimed.
                # - "NOT_COMPLETED" - The milestone has not yet been completed.
                # - "NOT_STARTED" - The milestone is for a quest that has not yet been accepted.
            "kind": "games#questMilestone", # Uniquely identifies the type of this resource. Value is always the fixed string games#questMilestone.
            "criteria": [ # The criteria of the milestone.
              { # This is a JSON template for a Quest Criterion resource.
                "eventId": "A String", # The ID of the event the criterion corresponds to.
                "completionContribution": { # This is a JSON template for a Quest Criterion Contribution resource. # The total number of times the associated event must be incremented for the player to complete this quest.
                  "formattedValue": "A String", # The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games Developer Console.
                  "kind": "games#questContribution", # Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution.
                  "value": "A String", # The value of the contribution.
                },
                "initialPlayerProgress": { # This is a JSON template for a Quest Criterion Contribution resource. # The value of the event associated with this quest at the time that the quest was accepted. This value may change if event increments that took place before the start of quest are uploaded after the quest starts.
                    # There will be no initialPlayerProgress until the player has accepted the quest.
                  "formattedValue": "A String", # The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games Developer Console.
                  "kind": "games#questContribution", # Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution.
                  "value": "A String", # The value of the contribution.
                },
                "kind": "games#questCriterion", # Uniquely identifies the type of this resource. Value is always the fixed string games#questCriterion.
                "currentContribution": { # This is a JSON template for a Quest Criterion Contribution resource. # The number of increments the player has made toward the completion count event increments required to complete the quest. This value will not exceed the completion contribution.
                    # There will be no currentContribution until the player has accepted the quest.
                  "formattedValue": "A String", # The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games Developer Console.
                  "kind": "games#questContribution", # Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution.
                  "value": "A String", # The value of the contribution.
                },
              },
            ],
            "id": "A String", # The milestone ID.
            "completionRewardData": "A String", # The completion reward data of the milestone, represented as a Base64-encoded string. This is a developer-specified binary blob with size between 0 and 2 KB before encoding.
          },
        ],
        "description": "A String", # The description of the quest.
        "endTimestampMillis": "A String", # The timestamp at which the quest ceases to be active in milliseconds since the epoch in UTC.
        "bannerUrl": "A String", # The banner image URL for the quest.
        "startTimestampMillis": "A String", # The timestamp at which the quest becomes active in milliseconds since the epoch in UTC.
        "lastUpdatedTimestampMillis": "A String", # The timestamp at which the quest was last updated by the user in milliseconds since the epoch in UTC. Only present if the player has accepted the quest.
        "acceptedTimestampMillis": "A String", # The timestamp at which the user accepted the quest in milliseconds since the epoch in UTC. Only present if the player has accepted the quest.
        "iconUrl": "A String", # The icon image URL for the quest.
        "notifyTimestampMillis": "A String", # The timestamp at which the user should be notified that the quest will end soon in milliseconds since the epoch in UTC.
        "state": "A String", # The state of the quest.
            # Possible values are:
            # - "UPCOMING": The quest is upcoming. The user can see the quest, but cannot accept it until it is open.
            # - "OPEN": The quest is currently open and may be accepted at this time.
            # - "ACCEPTED": The user is currently participating in this quest.
            # - "COMPLETED": The user has completed the quest.
            # - "FAILED": The quest was attempted but was not completed before the deadline expired.
            # - "EXPIRED": The quest has expired and was not accepted.
            # - "DELETED": The quest should be deleted from the local database.
        "isDefaultBannerUrl": True or False, # Indicates whether the banner image being returned is a default image, or is game-provided.
        "isDefaultIconUrl": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
        "applicationId": "A String", # The ID of the application this quest is part of.
        "id": "A String", # The ID of the quest.
        "name": "A String", # The name of the quest.
      }

`list(playerId, language=None, pageToken=None, maxResults=None)`

    Get a list of quests for your application and the currently authenticated player.

    Args:
      playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
      language: string, The preferred language to use for strings returned by this method.
      pageToken: string, The token returned by the previous request.
      maxResults: integer, The maximum number of quest resources to return in the response, used for paging. For any response, the actual number of quest resources returned may be less than the specified maxResults. Acceptable values are 1 to 50, inclusive. (Default: 50).

    Returns:
      An object of the form:

        { # This is a JSON template for a list of quest objects.
        "nextPageToken": "A String", # Token corresponding to the next page of results.
        "items": [ # The quests.
          { # This is a JSON template for a Quest resource.
            "kind": "games#quest", # Uniquely identifies the type of this resource. Value is always the fixed string games#quest.
            "milestones": [ # The quest milestones.
              { # This is a JSON template for a Quest Milestone resource.
                "state": "A String", # The current state of the milestone.
                    # Possible values are:
                    # - "COMPLETED_NOT_CLAIMED" - The milestone is complete, but has not yet been claimed.
                    # - "CLAIMED" - The milestone is complete and has been claimed.
                    # - "NOT_COMPLETED" - The milestone has not yet been completed.
                    # - "NOT_STARTED" - The milestone is for a quest that has not yet been accepted.
                "kind": "games#questMilestone", # Uniquely identifies the type of this resource. Value is always the fixed string games#questMilestone.
                "criteria": [ # The criteria of the milestone.
                  { # This is a JSON template for a Quest Criterion resource.
                    "eventId": "A String", # The ID of the event the criterion corresponds to.
                    "completionContribution": { # This is a JSON template for a Quest Criterion Contribution resource. # The total number of times the associated event must be incremented for the player to complete this quest.
                      "formattedValue": "A String", # The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games Developer Console.
                      "kind": "games#questContribution", # Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution.
                      "value": "A String", # The value of the contribution.
                    },
                    "initialPlayerProgress": { # This is a JSON template for a Quest Criterion Contribution resource. # The value of the event associated with this quest at the time that the quest was accepted. This value may change if event increments that took place before the start of quest are uploaded after the quest starts.
                        # There will be no initialPlayerProgress until the player has accepted the quest.
                      "formattedValue": "A String", # The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games Developer Console.
                      "kind": "games#questContribution", # Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution.
                      "value": "A String", # The value of the contribution.
                    },
                    "kind": "games#questCriterion", # Uniquely identifies the type of this resource. Value is always the fixed string games#questCriterion.
                    "currentContribution": { # This is a JSON template for a Quest Criterion Contribution resource. # The number of increments the player has made toward the completion count event increments required to complete the quest. This value will not exceed the completion contribution.
                        # There will be no currentContribution until the player has accepted the quest.
                      "formattedValue": "A String", # The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games Developer Console.
                      "kind": "games#questContribution", # Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution.
                      "value": "A String", # The value of the contribution.
                    },
                  },
                ],
                "id": "A String", # The milestone ID.
                "completionRewardData": "A String", # The completion reward data of the milestone, represented as a Base64-encoded string. This is a developer-specified binary blob with size between 0 and 2 KB before encoding.
              },
            ],
            "description": "A String", # The description of the quest.
            "endTimestampMillis": "A String", # The timestamp at which the quest ceases to be active in milliseconds since the epoch in UTC.
            "bannerUrl": "A String", # The banner image URL for the quest.
            "startTimestampMillis": "A String", # The timestamp at which the quest becomes active in milliseconds since the epoch in UTC.
            "lastUpdatedTimestampMillis": "A String", # The timestamp at which the quest was last updated by the user in milliseconds since the epoch in UTC. Only present if the player has accepted the quest.
            "acceptedTimestampMillis": "A String", # The timestamp at which the user accepted the quest in milliseconds since the epoch in UTC. Only present if the player has accepted the quest.
            "iconUrl": "A String", # The icon image URL for the quest.
            "notifyTimestampMillis": "A String", # The timestamp at which the user should be notified that the quest will end soon in milliseconds since the epoch in UTC.
            "state": "A String", # The state of the quest.
                # Possible values are:
                # - "UPCOMING": The quest is upcoming. The user can see the quest, but cannot accept it until it is open.
                # - "OPEN": The quest is currently open and may be accepted at this time.
                # - "ACCEPTED": The user is currently participating in this quest.
                # - "COMPLETED": The user has completed the quest.
                # - "FAILED": The quest was attempted but was not completed before the deadline expired.
                # - "EXPIRED": The quest has expired and was not accepted.
                # - "DELETED": The quest should be deleted from the local database.
            "isDefaultBannerUrl": True or False, # Indicates whether the banner image being returned is a default image, or is game-provided.
            "isDefaultIconUrl": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
            "applicationId": "A String", # The ID of the application this quest is part of.
            "id": "A String", # The ID of the quest.
            "name": "A String", # The name of the quest.
          },
        ],
        "kind": "games#questListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#questListResponse.
      }

`list_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.