Drive API'den taşıma

Bu dokümanda, izin için Drive API kullanılarak kodun nasıl taşınacağı açıklanmaktadır. yönetimiyle ilgili daha fazla bilgi edinebilirsiniz. Yaygın Drive API uç noktaları için şunu gösterir: ilgili Looker Studio API kodunu kullanın.

Dosyalar

Drive API dosyaları uç noktaları için Looker Studio API'nin yalnızca bir eşdeğeri vardır Files: list uç noktası.

Liste

API Yöntem Uç nokta
Drive POST /drive/v3/files
Looker Studio GET /v1/assets:search

Karşılaştırma:

Google Drive

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}`
 
}
})

Arama öğelerini inceleyin.

İzinler

Oluşturun, Silin ve Alın

API Yöntem Uç nokta
Drive POST /drive/v3/files/fileId/permissions
Drive DELETE /drive/v3/files/fileId/permissions/permissionId
Drive GET /drive/v3/files/fileId/permissions/permissionId

Looker Studio API'de yönetmek için karşılık gelen uç nokta yoktur birden çok Permissions nesnesi var. Bir için yalnızca bir izin nesnesi vardır Looker Studio öğesi vardır ve her zaman mevcuttur.

  • Bir kişiyi öğeden kaldırmak için tüm izinleri iptal etme bölümünü inceleyin
  • Bir öğeye kullanıcı eklemek için üye ekleme bölümüne bakın
  • Bir öğenin izin nesnesini görüntülemek için izin alma bölümüne bakın

Liste

Drive ile Looker Studio arasında 1'e 1 eşleşme olmasa da uç noktalar ya da benzer hedeflere yönlendirir. Temel fark, bir Drive dosyasında birçok izin nesnelerini içerir ve Looker Studio'da tam bir tane vardır.

API Yöntem Uç nokta
Drive GET /drive/v3/files/fileId/permissions
Looker Studio GET /v1/assets/assetId/permissions

Karşılaştırma:

Google Drive

Aşağıdaki kod, Drive API için tüm izin nesnelerini listeler. Kodunuza bağlı olarak, sayfalandırmayı kullanarak bu yöntemi birden çok kez çağırabilirsiniz. göre ayarlanmış tüm izinleri görebileceğinizden emin olmak için olabilir.

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

Looker Studio öğesi için yalnızca bir izin nesnesi olduğundan sayfalandırmayı hesaba katması gerekir.

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}`
 
}
}

İzin alma bölümünü inceleyin.

Güncelle

İzinleri güncellemek için Looker Studio ve Drive API'leri çok benzerdir. işlevi görür. Temel fark, bir expirationTime Looker Studio izni.

API Yöntem Uç nokta
Drive PATCH /drive/v3/files/fileId/permissions/permissionId
Looker Studio PATCH /v1/assets/assetId/permissions

Karşılaştırma:

Google Drive

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
 
})
})

Kullanım alanına özgü alternatifler için şuraya bakın: