Społecznościowe oprogramowanie sprzęgające obsługuje te metody uwierzytelniania:
- OAuth 2.0
- Ścieżka/nazwa użytkownika/hasło
- Ścieżka/klucz
- Nazwa użytkownika/hasło
- Nazwa użytkownika/token
- Klucz
- Brak
W zależności od używanej metody musisz podać dodatkowe funkcje w oprogramowaniu sprzęgającym.
W tabeli poniżej znajdziesz funkcje, które musisz zdefiniować w zależności od uwierzytelniania oprogramowania sprzęgającego.
OAUTH2 | PATH_USER_PASS PATH_KEY USER_PASS USER_TOKEN KEY |
BRAK | |
---|---|---|---|
getAuthType() |
wymagane | wymagane | wymagane |
resetAuth() |
wymagane | wymagane | |
isAuthValid() |
wymagane | wymagane | |
authCallback() |
wymagane | ||
get3PAuthorizationUrls() |
wymagane | ||
setCredentials() |
wymagane |
getAuthType()
Ta funkcja powinna zwracać typ uwierzytelniania oprogramowania sprzęgającego.
OAUTH2
PATH_USER_PASS
/**
* Returns the Auth Type of this connector.
* @return {object} The Auth type.
*/
function getAuthType() {
var cc = DataStudioApp.createCommunityConnector();
return cc.newAuthTypeResponse()
.setAuthType(cc.AuthType.PATH_USER_PASS)
.setHelpUrl('https://www.example.org/connector-auth-help')
.build();
}
PATH_KEY
/**
* Returns the Auth Type of this connector.
* @return {object} The Auth type.
*/
function getAuthType() {
var cc = DataStudioApp.createCommunityConnector();
return cc.newAuthTypeResponse()
.setAuthType(cc.AuthType.PATH_KEY)
.setHelpUrl('https://www.example.org/connector-auth-help')
.build();
}
USER_PASS
USER_TOKEN
KEY
BRAK
resetAuth()
Ta funkcja usuwa wszystkie dane uwierzytelniające użytkownika zapisane w systemie innej firmy. posprzedażna.
OAUTH2
PATH_USER_PASS
/**
* Resets the auth service.
*/
function resetAuth() {
var userProperties = PropertiesService.getUserProperties();
userProperties.deleteProperty('dscc.path');
userProperties.deleteProperty('dscc.username');
userProperties.deleteProperty('dscc.password');
}
PATH_KEY
/**
* Resets the auth service.
*/
function resetAuth() {
var userProperties = PropertiesService.getUserProperties();
userProperties.deleteProperty('dscc.path');
userProperties.deleteProperty('dscc.key');
}
USER_PASS
USER_TOKEN
KEY
isAuthValid()
Ta funkcja jest wywoływana w celu określenia, czy uwierzytelnianie aplikacji zewnętrznej
jest prawidłowa. Jeśli uwierzytelnianie jest prawidłowe, wywołania funkcji
Zadania getData()
i getSchema()
nie będą kończyć się niepowodzeniem z następujących powodów:
nieupoważnionego dostępu. Jeśli uwierzytelnianie nie jest prawidłowe, użytkownik może otrzymać
aby rozpocząć proces autoryzacji.
OAUTH2
PATH_USER_PASS
/**
* Returns true if the auth service has access.
* @return {boolean} True if the auth service has access.
*/
function isAuthValid() {
var userProperties = PropertiesService.getUserProperties();
var path = userProperties.getProperty('dscc.path');
var userName = userProperties.getProperty('dscc.username');
var password = userProperties.getProperty('dscc.password');
// This assumes you have a validateCredentials function that
// can validate if the path, userName and password are correct.
return validateCredentials(path, userName, password);
}
PATH_KEY
/**
* Returns true if the auth service has access.
* @return {boolean} True if the auth service has access.
*/
function isAuthValid() {
var userProperties = PropertiesService.getUserProperties();
var path = userProperties.getProperty('dscc.path');
var key = userProperties.getProperty('dscc.key');
// This assumes you have a validateCredentials function that
// can validate if the path and key are correct.
return validateCredentials(path, key);
}
USER_PASS
USER_TOKEN
KEY
OAUTH2
Dodawanie i konfigurowanie protokołu OAuth2 dla biblioteki Apps Script
Wykonaj instrukcje konfiguracji OAuth2 for Apps Script. aby dodać ją do projektu oprogramowania sprzęgającego. Następnie wykonaj pierwszy krok poradnik użytkowania, który pomoże Ci utworzyć usługę OAuth2 w oprogramowaniu sprzęgającym. w projektach AI. Usługa OAuth2 może mieć dowolną prawidłową nazwę funkcji, ale pamiętaj, aby użyj tej samej nazwy w kodzie w odniesieniu do usługi OAuth2.
Na przykład usługa OAuth2 o nazwie exampleService
:
authCallback()
Ta funkcja jest wywoływana w celu zakończenia procesu OAuth 2.0. odpowiedź na wywołanie zwrotne, z usługi uwierzytelniania innej firmy jest podany jako argument i powinien być obsługiwane przez tę funkcję.
Przykład obsługi wywołania zwrotnego OAuth 2.0 za pomocą protokołu OAuth2 dla Apps Script biblioteka:
get3PAuthorizationUrls()
Ta funkcja jest wywoływana w celu uzyskania adresu URL wymaganego do zainicjowania uwierzytelniania
dla usługi zewnętrznej. Jeśli isAuthValid
zwraca wartość false
, adres URL
będą wyświetlane użytkownikowi w postaci przycisku lub linku,
autoryzować dostęp usługi innej firmy. Zapoznaj się z dokumentacją
get3PAuthorizationUrls().
Przykład zwracania adresu URL autoryzacji przy użyciu protokołu OAuth2 dla Apps Script biblioteka:
USER_PASS
, USER_TOKEN
, KEY
, PATH_USER_PASS
i PATH_KEY
Te dane są potrzebne tylko w przypadku: USER_PASS
, USER_TOKEN
, KEY
,
Procesy uwierzytelniania PATH_USER_PASS
i PATH_KEY
.
setCredentials()
Funkcja setCredentials
jest wywoływana po wpisaniu przez użytkownika swoich danych logowania
na stronie konfiguracji społecznościowego oprogramowania sprzęgającego. Należy użyć metody
usługa właściwości do zapisywania danych logowania poszczególnych użytkowników;
w oparciu o funkcję UserProperties
.
PATH_USER_PASS
/**
* Sets the credentials.
* @param {Request} request The set credentials request.
* @return {object} An object with an errorCode.
*/
function setCredentials(request) {
var creds = request.pathUserPass;
var path = creds.path;
var username = creds.username;
var password = creds.password;
// Optional
// Check if the provided path, username and password are valid through
// a call to your service. You would have to have a `checkForValidCreds`
// function defined for this to work.
var validCreds = checkForValidCreds(path, username, password);
if (!validCreds) {
return {
errorCode: 'INVALID_CREDENTIALS'
};
}
var userProperties = PropertiesService.getUserProperties();
userProperties.setProperty('dscc.path', path);
userProperties.setProperty('dscc.username', username);
userProperties.setProperty('dscc.password', password);
return {
errorCode: 'NONE'
};
}
PATH_KEY
/**
* Sets the credentials.
* @param {Request} request The set credentials request.
* @return {object} An object with an errorCode.
*/
function setCredentials(request) {
var creds = request.pathKey;
var path = creds.path;
var key = creds.key;
// Optional
// Check if the provided path and key are valid through
// a call to your service. You would have to have a `checkForValidCreds`
// function defined for this to work.
var validCreds = checkForValidCreds(path, key);
if (!validCreds) {
return {
errorCode: 'INVALID_CREDENTIALS'
};
}
var userProperties = PropertiesService.getUserProperties();
userProperties.setProperty('dscc.path', path);
userProperties.setProperty('dscc.key', key);
return {
errorCode: 'NONE'
};
}