npm package: @maxim_mazurok/gapi.client.games_configuration-v1configuration
Description: TypeScript typings for Google Play Games Services Publishing API v1configuration
Author: Maxim Mazurok
Latest version: 0.1.20260305

# TypeScript typings for Google Play Games Services Publishing API v1configuration

The Google Play Game Services Publishing API allows developers to configure their games in Game Services.
For detailed description please check [documentation](https://developers.google.com/games/).

## Installing

Install typings for Google Play Games Services Publishing API:

```
npm install @types/gapi.client.games_configuration-v1configuration --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://gamesconfiguration.googleapis.com/$discovery/rest?version=v1configuration',
  () => {
    // now we can use:
    // gapi.client.gamesConfiguration
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('gamesConfiguration', 'v1configuration', () => {
  // now we can use:
  // gapi.client.gamesConfiguration
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // View and manage your Google Play Developer account
    'https://www.googleapis.com/auth/androidpublisher',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use Google Play Games Services Publishing API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Delete the achievement configuration with the given ID.
*/
await gapi.client.gamesConfiguration.achievementConfigurations.delete({
  achievementId: 'achievementId',
});

/*
Retrieves the metadata of the achievement configuration with the given ID.
*/
await gapi.client.gamesConfiguration.achievementConfigurations.get({
  achievementId: 'achievementId',
});

/*
Insert a new achievement configuration in this application.
*/
await gapi.client.gamesConfiguration.achievementConfigurations.insert({
  applicationId: 'applicationId',
});

/*
Returns a list of the achievement configurations in this application.
*/
await gapi.client.gamesConfiguration.achievementConfigurations.list({
  applicationId: 'applicationId',
});

/*
Update the metadata of the achievement configuration with the given ID.
*/
await gapi.client.gamesConfiguration.achievementConfigurations.update({
  achievementId: 'achievementId',
});

/*
Delete the leaderboard configuration with the given ID.
*/
await gapi.client.gamesConfiguration.leaderboardConfigurations.delete({
  leaderboardId: 'leaderboardId',
});

/*
Retrieves the metadata of the leaderboard configuration with the given ID.
*/
await gapi.client.gamesConfiguration.leaderboardConfigurations.get({
  leaderboardId: 'leaderboardId',
});

/*
Insert a new leaderboard configuration in this application.
*/
await gapi.client.gamesConfiguration.leaderboardConfigurations.insert({
  applicationId: 'applicationId',
});

/*
Returns a list of the leaderboard configurations in this application.
*/
await gapi.client.gamesConfiguration.leaderboardConfigurations.list({
  applicationId: 'applicationId',
});

/*
Update the metadata of the leaderboard configuration with the given ID.
*/
await gapi.client.gamesConfiguration.leaderboardConfigurations.update({
  leaderboardId: 'leaderboardId',
});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.games_configuration-v1configuration#Provenance:~:text=none-,Provenance,-Built%20and%20signed)