n8n/packages/nodes-base/credentials/GoogleApi.credentials.ts
Ricardo Espinoza 76cee5577b
Extend googleApi credentials to support user impersonification (#1304)
*  Extend googleApi credentials to support user impersonification

*  Add service account authentication to Gmail

*  Minor improvements

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-01-10 20:49:47 +01:00

50 lines
1.3 KiB
TypeScript

import {
ICredentialType,
NodePropertyTypes,
} from 'n8n-workflow';
export class GoogleApi implements ICredentialType {
name = 'googleApi';
displayName = 'Google API';
documentationUrl = 'google';
properties = [
{
displayName: 'Service Account Email',
name: 'email',
type: 'string' as NodePropertyTypes,
default: '',
description: 'The Google Service account similar to user-808@project.iam.gserviceaccount.com.<br />See the <a href="https://github.com/jovotech/learn-jovo/blob/master/tutorials/google-spreadsheet-private-cms/README.md#google-api-console">tutorial</a> on how to create one.',
},
{
displayName: 'Private Key',
name: 'privateKey',
lines: 5,
type: 'string' as NodePropertyTypes,
default: '',
description: 'Use the multiline editor. Make sure there are exactly 3 lines.<br />-----BEGIN PRIVATE KEY-----<br />KEY IN A SINGLE LINE<br />-----END PRIVATE KEY-----',
},
{
displayName: ' Impersonate a User',
name: 'inpersonate',
type: 'boolean' as NodePropertyTypes,
default: false,
},
{
displayName: 'Email',
name: 'delegatedEmail',
type: 'string' as NodePropertyTypes,
default: '',
displayOptions: {
show: {
inpersonate: [
true,
],
},
},
description: 'The email address of the user for which the application is requesting delegated access.',
},
];
}