DefinitelyTyped/types/gapi.client.androidpublisher
..
gapi.client.androidpublisher-tests.ts
index.d.ts
readme.md
tsconfig.json
tslint.json

TypeScript typings for Google Play Developer API v2

Lets Android application developers access their Google Play accounts. For detailed description please check documentation.

Installing

Install typings for Google Play Developer API:

npm install @types/gapi.client.androidpublisher@v2 --save-dev

Usage

You need to initialize Google API client in your code:

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

Then load api client wrapper:

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

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


// 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 succesfull authorization */
    } else {
        /* handle authorization error */
    }
});            

After that you can use Google Play Developer API resources:

    
/* 
Commits/applies the changes made in this edit back to the app.  
*/
await gapi.client.edits.commit({ editId: "editId", packageName: "packageName",  }); 
    
/* 
Deletes an edit for an app. Creating a new edit will automatically delete any of your previous edits so this method need only be called if you want to preemptively abandon an edit.  
*/
await gapi.client.edits.delete({ editId: "editId", packageName: "packageName",  }); 
    
/* 
Returns information about the edit specified. Calls will fail if the edit is no long active (e.g. has been deleted, superseded or expired).  
*/
await gapi.client.edits.get({ editId: "editId", packageName: "packageName",  }); 
    
/* 
Creates a new edit for an app, populated with the app's current state.  
*/
await gapi.client.edits.insert({ packageName: "packageName",  }); 
    
/* 
Checks that the edit can be successfully committed. The edit's changes are not applied to the live app.  
*/
await gapi.client.edits.validate({ editId: "editId", packageName: "packageName",  }); 
    
/* 
Lists the user's current inapp item or subscription entitlements  
*/
await gapi.client.entitlements.list({ packageName: "packageName",  }); 
    
/* 
undefined  
*/
await gapi.client.inappproducts.batch({  }); 
    
/* 
Delete an in-app product for an app.  
*/
await gapi.client.inappproducts.delete({ packageName: "packageName", sku: "sku",  }); 
    
/* 
Returns information about the in-app product specified.  
*/
await gapi.client.inappproducts.get({ packageName: "packageName", sku: "sku",  }); 
    
/* 
Creates a new in-app product for an app.  
*/
await gapi.client.inappproducts.insert({ packageName: "packageName",  }); 
    
/* 
List all the in-app products for an Android app, both subscriptions and managed in-app products..  
*/
await gapi.client.inappproducts.list({ packageName: "packageName",  }); 
    
/* 
Updates the details of an in-app product. This method supports patch semantics.  
*/
await gapi.client.inappproducts.patch({ packageName: "packageName", sku: "sku",  }); 
    
/* 
Updates the details of an in-app product.  
*/
await gapi.client.inappproducts.update({ packageName: "packageName", sku: "sku",  }); 
    
/* 
Returns a single review.  
*/
await gapi.client.reviews.get({ packageName: "packageName", reviewId: "reviewId",  }); 
    
/* 
Returns a list of reviews. Only reviews from last week will be returned.  
*/
await gapi.client.reviews.list({ packageName: "packageName",  }); 
    
/* 
Reply to a single review, or update an existing reply.  
*/
await gapi.client.reviews.reply({ packageName: "packageName", reviewId: "reviewId",  });