Edits history of script submission #9194 for ' Create/Refresh Access Token (pandadoc)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Pandadoc = {
    	apiKey: string
    }
    
    export async function main(
    	auth: Pandadoc,
    	body:
    		| {
    				grant_type: string
    				client_id: string
    				client_secret: string
    				code: string
    				scope?: string
    		  }
    		| {
    				grant_type: string
    				client_id: string
    				client_secret: string
    				refresh_token: string
    				scope?: string
    		  }
    ) {
    	const url = new URL(`https://api.pandadoc.com/oauth2/access_token`)
    
    	const response = await fetch(url, {
    		method: 'POST',
    		headers: {
    			'Content-Type': 'application/x-www-form-urlencoded',
    			Authorization: `API-Key ${auth.apiKey}`
    		},
    		body: new URLSearchParams(body as Record<string, string>)
    	})
    
    	if (!response.ok) {
    		const text = await response.text()
    		throw new Error(`${response.status} ${text}`)
    	}
    
    	return await response.json()
    }
    

    Submitted by hugo697 581 days ago