UNPKG

ministry-platform-provider

Version:

TypeScript client library for Ministry Platform API integration

22 lines (21 loc) 889 B
export async function getClientCredentialsToken() { const mpBaseUrl = process.env.MINISTRY_PLATFORM_BASE_URL; const mpOauthUrl = `${mpBaseUrl}/oauth`; const params = new URLSearchParams({ grant_type: "client_credentials", client_id: process.env.MINISTRY_PLATFORM_CLIENT_ID, client_secret: process.env.MINISTRY_PLATFORM_CLIENT_SECRET, scope: "http://www.thinkministry.com/dataplatform/scopes/all", }); const response = await fetch(`${mpOauthUrl}/connect/token`, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded", }, body: params.toString(), }); if (!response.ok) { throw new Error(`Failed to get client credentials token: ${response.statusText}`); } return await response.json(); // returns { access_token, expires_in, token_type, ... } }