mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-10 22:54:05 -08:00
76cee5577b
* ⚡ Extend googleApi credentials to support user impersonification * ⚡ Add service account authentication to Gmail * ⚡ Minor improvements Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
50 lines
1.3 KiB
TypeScript
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.',
|
|
},
|
|
];
|
|
}
|