Skip to main content

How to Manually Generate Access Token | Google Play Developer API

 

Info: This section will provide you steps to request access tokens with the specific scope https://www.googleapis.com/auth/androidpublisher using OAuth 2.0 Assertion Profile

Objective

Generate an Access token with OAuth 2.0 assertion profile

Requirements

  1. Coding expertise level: Medium 
  2. Hands-on Google OAuth
  3. Hands-on JWT token JSON Web Tokens - jwt.io  
  4. Aware of Service Account

How to get Access Token? 

You will be requiring the Endpoint to get a token, the scope you are requesting access_token for. There are certain libraries out there which will do this stuff but let’s understand the basics so you can do it on your own without depending upon any libraries.

Why do we need this access_taken? 

We need this access_token to call further in-app purchase API verification calls like purchases.products or purchases.subscriptions  APIs.  So, for that, we need to complete the OAuth with the help of the Service Account JSON file. 

What do we read from the JSON file? 

  1. client_email
  2. private_key

Sample Request

$ curl -X POST https://accounts.google.com/o/oauth2/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion= eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJwbGF5LWRldmVsb3Blci1hcGlAcGMtYXBpLTU3MDg2MDAxMjU3MTE1Mjk1OTMtOTE4LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2NvcGUiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2FuZHJvaWRwdWJsaXNoZXIiLCJhdWQiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvdG9rZW4iLCJpYXQiOjE2NDkxNDczNzAsImV4cCI6MTY0OTE1MDk5M30'

Required Parameters

By default, these parameters must be x-www-form-urlencoded and specified in the request body (as shown in the sample above). Also, to use a JWT Bearer Token as an authorization grant, use the following parameter values and encodings.

  • grant_type - MUST be to the value of the assertion
  • assertion - MUST contain a single JWT

Get access token

Now, we have the basic things needed to get an access token. Let's understand the following steps. 

Step 1: Generate jwtToken

Headers: 
The following example of a JSON object, used as a header of the HWT, declares that the JWT is signed with the RS256 algorithm. 

Payload: 
See the attached example JSON object that could be encoded to produce the JWT Claims Object for the JWT. 

Verify Signature
Encode your payload and headers with the PRIVATE_KEY extracted from the JSON file 

We are going to use this encoded value as an assertion_token in the next step. 


Step 2: Create FORM DATA

Now, we need to create a FORM DAYA to make the HTTP call. 

Step 3: Make HTTP POST call

Make an HTTP call with the POST method, if all went well then you will get the Success response with the access_token! 



Now, we have the access_token to call the subsequent API calls. e.g., verify in-app purchases

Comments

Popular posts from this blog

Creating a Firebase Project: A Step-by-Step Guide

Introduction Firebase is a powerful platform developed by Google that allows developers to build scalable and feature-rich applications. In this guide, we will walk you through the process of creating a Firebase project, step by step. By the end, you will have a solid understanding of how to set up your own Firebase project. Step 1: Create a Firebase Project Visit http://console.firebase.google.com/ . Click on the "Create New Project" button. Enter a name for your project in the provided field.  Create a Firebase Project Step 2: Configure Project Settings Firebase recommends capturing basic analytics. Click on the "Continue" button. Select the desired option from the "Configure Google Analytics for this project" dropdown menu.  Configure Google Analytics Step 3: Create a Firebase Account Choose "Create a new account" from the "Firebase Account" dropdown menu. Enter your account name and set the analytics location to "US." Acce...

How to create a Facebook application

  What is Facebook Application? For over a decade we have been using the Facebook login to our mobile application or web application. To do so we need to register the application over Facebook! Facebook will identify, review and let you use the Facebook SDKs or Graph API to do the Facebook login! There are multiple things we could do with Facebook SDKs, Facebook login is one of them. How to register the application over Facebook? Suppose you are the owner of the product/app for which you want to have the Facebook login and/or other features. Suppose your app name is “My Social Media” and you want to allow the end-users to log in with Facebook to access your app. To do so, we need to register the “My Social Media” app to the Facebook Developer Console.  Let's see how to do it:  Step 1 – Facebook Developer Account Please visit this link https://developers.facebook.com/apps . If you are already a Facebook user then you just need to agree with some terms and follow the on-scr...

ADB - The Android Developer's Swiss Army Knife

Introduction: In the world of Android app development, having the right tools can make a significant difference. One such indispensable tool is ADB (Android Debug Bridge), a versatile command-line tool that empowers developers and Android enthusiasts to interact with Android devices from their computers. In this blog, we'll explore what ADB is, its key functionalities, how to install it on Windows and Mac, and how it simplifies the app development and testing process. What is ADB? ADB, short for Android Debug Bridge, is a critical component of the Android Software Development Kit (SDK) or the standalone Android Platform Tools package. It serves as a bridge between a computer and Android devices, enabling seamless communication and control over connected devices. How to Install ADB on Windows? Installing ADB on Windows is a straightforward process: Download Android SDK Platform Tools : Go to the official Android Developer website and download the SDK Platform Tools package from this...