Ten dokument wyjaśnia, jak przenieść kod za pomocą interfejsu Drive API w celu uzyskania uprawnień do zarządzania z użyciem interfejsu Looker Studio API. W przypadku typowych punktów końcowych interfejsu Drive API wyświetla się odpowiedni kod interfejsu API Looker Studio.
Pliki
W przypadku punktów końcowych plików interfejsu Drive API interfejs API Looker Studio ma tylko jego odpowiednik
punktu końcowego Files: list
.
Lista
Interfejs API | Metoda | Punkt końcowy |
---|---|---|
Dysk | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Porównanie:
Dysk
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://www.googleapis.com/drive/v3/files`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
},
method: "POST",
})
Looker Studio
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://datastudio.googleapis.com/v1/assets:search?assetTypes={ASSET_TYPE}`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
}
})
Zobacz wyszukiwanie komponentów.
Uprawnienia
Twórz, usuwaj i pobieraj
Interfejs API | Metoda | Punkt końcowy |
---|---|---|
Dysk | POST |
/drive/v3/files/fileId/permissions |
Dysk | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Dysk | GET |
/drive/v3/files/fileId/permissions/permissionId |
W interfejsie API Looker Studio nie ma odpowiednich punktów końcowych do zarządzania
wiele obiektów Permissions
. Istnieje tylko jeden obiekt uprawnień
zasób Looker Studio, który zawsze istnieje.
- Aby usunąć kogoś z zasobu, przeczytaj artykuł o unieważnianiu wszystkich uprawnień.
- Aby dodać kogoś do zasobu, zapoznaj się z sekcją Dodawanie użytkowników
- Aby dowiedzieć się, jak wyświetlić obiekt uprawnień dla zasobu, zobacz Uzyskiwanie uprawnień.
Lista
Dysk i Looker Studio nie dokładnie stykają się ze sobą, ale punkty końcowe realizować podobne cele. Plik na Dysku może zawierać wiele elementów, obiektów uprawnień, a Looker Studio ma dokładnie jeden.
Interfejs API | Metoda | Punkt końcowy |
---|---|---|
Dysk | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Porównanie:
Dysk
Ten kod zawiera listę wszystkich obiektów uprawnień dla interfejsu Drive API. W zależności od kodu możesz wywoływać tę metodę wiele razy przy użyciu podziału na strony tokeny (jak pokazano), aby można było wyświetlić wszystkie uprawnienia ustawione dla plik.
const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
let nextPageToken = undefined;
let permissions = [];
do {
const permissionsData = await fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
}
});
nextPageToken = permissionsData.nextPageToken;
permissions = permissions.concat(permissionsData.permissions)
} while (nextPageToken !== undefined);
Looker Studio
Dla zasobu Looker Studio jest tylko 1 obiekt uprawnień, muszą uwzględniać podział na strony.
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
fetch(`https://datastudio.googleapis.com/v1/assets/{ASSET_ID}/permissions`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
}
}
Zobacz, jak uzyskać uprawnienia.
Aktualizuj
Jeśli chodzi o aktualizowanie uprawnień, interfejsy API Looker Studio i Dysku mają bardzo podobne
funkcji. Główna różnica polega na tym, że nie można ustawić elementu expirationTime
na
Uprawnienia Looker Studio.
Interfejs API | Metoda | Punkt końcowy |
---|---|---|
Dysk | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Porównanie:
Dysk
const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
const newPermissionsObject = {
expirationTime: '...',
role: 'owner', // Or any other option
}
fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions/permissionId`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
},
method: "PATCH",
body: JSON.stringify(newPermissionsObject)
})
Looker Studio
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
const newPermissionsObject = {
permissions: {
//...
}
}
fetch(`https://datastudio.googleapis.com/v1/assets/${assetId}/permissions`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
},
method: "PATCH",
body: JSON.stringify({
name: assetId,
permissions: newPermissionsObject
})
})
Alternatywy w konkretnych przypadkach użycia znajdziesz w tych artykułach: