Az Adatátvitel tárhelycsoportjaihoz való hozzáférést a Google Ad Manager felhasználói szerepköreivel kezelheti. Miután rendelkezik a szükséges felhasználói szerepkör-engedéllyel, a kívánt módszerrel hozzáférhet az Adatátvitel-fájlokhoz.
Ugrás a cikk egy szakaszához:
- Az engedélyhez tartozó felhasználói szerepkörök
- Egy szerepkörben lévő engedély megtekintése
- A tárhelycsoportokhoz való hozzáférés módjai
- A Google Cloud Storage API használata
Az engedélyhez tartozó felhasználói szerepkörök
A tárhelycsoportokhoz való hozzáféréshez olyan szerepkörrel kell rendelkeznie, amelynél engedélyezve van az „Adatátviteli csoportok megtekintése” engedély.
- Adminisztrátori felhasználói szerepkörök: Az engedély alapértelmezés szerint engedélyezve van a beépített Adminisztrátor felhasználói szerepkörhöz.
- Egyéni felhasználói szerepkörök: Az engedély hozzáadható az egyéni felhasználói szerepkörökhöz.
A felhasználói szerepkörök módosításához adminisztrátornak kell lennie a hálózatán, vagy rendelkeznie kell a „Felhasználók, szerepkörök és csapatok szerkesztése az Adminisztrálás lapon” engedéllyel. Ne feledje, hogy egy felhasználó egyszerre csak egy szerepkörhöz társítható.
További információt a Felhasználói szerepkörök tagjainak kezelése című cikkben talál.
Egy szerepkörben lévő engedély megtekintése
Áttekintheti a felhasználó jelenlegi szerepkörét, és szükség szerint hozzáadhatja vagy eltávolíthatja az engedélyt.
- Bejelentkezés a Google Ad Manager szolgáltatásba.
- Kattintson az Adminisztrálás, majd a Hozzáférés és hitelesítés lehetőségre.
- Kattintson a Szerepkörökre, majd a kívánt szerepkör nevére.
- A „Jelentéskészítés” részben keresse meg az „Adatátviteli csoportok megtekintése” engedélyt.
- (Nem kötelező) Ha engedélyezni szeretné az engedélyt a szerepkörhöz, jelölje be a jelölőnégyzetet.
A tárhelycsoportokhoz való hozzáférés módjai
A Google Cloud Storage egy különálló Google-termék, amelyet az Ad Manager adattárhelyként használ az Adatátvitel jelentéseihez és a közönségszegmensekbe csoportosan feltöltött cookie-azonosítókhoz.
Háromféle módon férhet hozzá az Ad Manager felhőalapú tárhelycsoportjaihoz. A legegyszerűbbtől kezdve:
- Az interneten: Keresse fel a
https://console.developers.google.com/storage/gdfp-[Ad Manager hálózati kód]oldalt. - A gsutil Python-alapú parancssori eszközzel, amely Unix-szerű parancsokat biztosít a tároló csoportjainak használatához. A csoport hitelesítésének kivonatolása és kezelése automatikusan történik.
- A Google Cloud Storage API-val, amely teljes értékű API a tároló csoportjainak kezeléséhez, és amely JSON vagy XML RESTful webes kezelőfelületek segítségével használható. Az API klienskönyvtárai számos népszerű programozási környezetben hozzáférhetők, beleértve a Javát, a JavaScriptet, a Pythont és az Objective-C nyelvet. Ez a megközelítés akkor hasznos igazán, ha a tároló csoportjait automatizált módon kell kezelnie a Google App Engine alkalmazás vagy valamelyik Java-alapú internetes alkalmazás integrálása érdekében.
Ez a cikk részletesen bemutatja a Google Cloud Storage API-t. A webes alapú és a gsutil segítségével történő hozzáférést könnyebb kezelni, ezért javasoljuk, hogy először ezekkel a módszerekkel ismerkedjen meg. A Google Cloud Storage fejlesztői webhelyen megtalálja teljes körű dokumentációjukat.
A Google Cloud Storage API használata
Ha úgy dönt, hogy az igényeinek leginkább az API-hozzáférés felel meg, javasoljuk, hogy állítson be Google Cloud Storage-szolgáltatásfiókot.
Google Cloud Storage-szolgáltatásfiók beállítása
Ha az API-n keresztül fér hozzá a tárhelycsoporthoz, tanácsos beállítania szolgáltatásfiókot ahelyett, hogy valamelyik felhasználói fiókot használná erre a célra. A szolgáltatásfiókok egyszerűbbé teszik az alkalmazásfejlesztést, ugyanis dinamikusan generált OAuth-token helyett titkos kulcsot használnak a hitelesítéshez. Szolgáltatásfiók konfigurálása:
-
Nyissa meg a Google Developers Console-t.
-
Hozzon létre új projektet (vagy válassza ki valamelyik meglévőt), amely az alkalmazás fölérendelt projektje lesz, majd kattintson rá.
-
(Nem kötelező) Ha fájlokat szeretne másolni Ad Manager-tárhelycsoportjából a saját Google Cloud Storage-fiókjába, kattintson a Billing & settings (Számlázás és beállítások) lehetőségre, és adjon új számlázási forrást a projekthez.
-
Hozzon létre új ügyfél-azonosítót:
-
Kattintson az API-k és szolgáltatások, majd a Hitelesítési adatok lehetőségre.
-
Kattintson a Create new Client ID (Új ügyfél-azonosító létrehozása) lehetőségre.
-
Alkalmazástípusként válassza ki a Service account (Szolgáltatásfiók) beállítást, majd kattintson a Create Client ID (Ügyfél-azonosító létrehozása) gombra.
-
A generált e-mail-cím formátuma a következő:
[egyedi-azonosító]@developer.gserviceagccount.com. Adja hozzá a szolgáltatásfiók-felhasználót az Ad Manager-hálózatához, és győződjön meg arról, hogy az illető rendelkezik az „Adatátviteli csoportok megtekintése” engedéllyel. -
Kattintson a Generate new P12 key (Új P12-kulcs generálása) lehetőségre. A fájlt a rendszer a számítógépére menti. Az Ön által fejlesztett alkalmazásokban ezt a kulcsot használhatja az API-hoz való hozzáféréshez, ahogyan az alábbi példakódban is látható.
-
- Az „Adatátviteli csoportok megtekintése” engedéllyel rendelkező felhasználók hozzáférhetnek az Ad Manager-tárhelycsoportjaihoz.
A Google kódmintákat és könyvtárakat biztosít a Google Cloud Storage szolgáltatáshoz. A következő Java-példa, amely az Ad Manager felhőalapú tárhelycsoportjából származó fájl olvasására szolgál, megmutatja, hogy a szolgáltatásfiók beállításakor konfigurált összetevők hogyan jelentkezhetnek a kódban:
-
Projekt neve: a projekt neve a Google Cloud Storage szolgáltatásban.
-
Szolgáltatásfiók e-mail-címe: a létrehozott e-mail-cím.
-
.p12 kulcsfájl: a letöltött fájl.
-
Csoport neve: a Google ezt a nevet adja meg, amikor Ön olyan funkciót aktivál, amely az Ad Manager felhőalapú tárhelycsoportjait használja.
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.security.GeneralSecurityException;
import java.util.Collections;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.storage.Storage;
import com.google.api.services.storage.model.StorageObject;
public class GcsApiTest {
/**
* Annak a projektnek a neve, amely alatt a szolgáltatásfiók létre lett hozva.
*
* Ez az információ a Google Developers Console-ban látható.
*/
private static final String PROJECT_NAME = "project name";
/**
* A szolgáltatásfiók fejlesztői e-mail-címe.
*
* Ez az e-mail-cím akkor jön létre, amikor szolgáltatásfiókjához ügyfél-
* azonosítót készít a Google Developers Console-ban, és a Credentials (Hitelesítési adatok)
* oldalon kérhető le.
*/
private static final String SERVICE_ACCOUNT_EMAIL = "service account email address";
/**
* A tárolási műveletekhez használandó csoport.
*
* A csoport nevét a fiókkezelőjétől kapta meg.
* A használt Ad Manager-bővítménytől függően a neve a következők egyikére
* hasonlít majd: „gdfp-12345678” vagy „gdfp_cookieupload_12345678” .
*/
private static final String BUCKET_NAME = "bucket name";
/**
* Google Cloud Storage OAuth 2.0 olvasási/írási hatókör. Ennek
* meg kell felelnie a csoporthoz tartozó „Adatátviteli csoportok megtekintése”
* engedélyhez tartozó hozzáférési jogoknak, és Ön nem igényelhet olyan hozzáférési jogokat,
* amelyeket az engedély nem biztosít.
*/
private static final String STORAGE_SCOPE =
"https://www.googleapis.com/auth/devstorage.read_write";
/**
* A csoporthoz hozzáférést biztosító key.p12 fájl elérési útja.
*
* Ez a fájl az ügyfél-azonosító létrehozásakor jön létre. Ha nincs
* ilyen fájlja, új p12 ügyfélkulcsot kell generálnia a
* Google Developers Console felületén.
*/
private static final String KEY_P12 = "path to .p12 key file";
/** HTTP-átvitel. */
private HttpTransport httpTransport;
private Storage storage;
// konstruktor hitelesítő adatok és tároló objektumok beállításához
public GcsApiTest() {
File p12File = new File(KEY_P12);
try {
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JacksonFactory.getDefaultInstance())
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(
Collections.singleton(STORAGE_SCOPE))
.setServiceAccountPrivateKeyFromP12File(p12File).build();
storage = new Storage.Builder(httpTransport,
JacksonFactory.getDefaultInstance(), credential)
.setApplicationName(PROJECT_NAME).build();
} catch (GeneralSecurityException | IOException e1) {
e1.printStackTrace();
System.exit(1);
}
}
/**
* Metódus a csoportban lévő első fájl nevének megjelenítéséhez.
*
* @a fájl nevét jeleníti meg; vagy ha a csoport üres, akkor null értékű
* @a következőt adja vissza: IOException
*/
public String GetFirstFile() throws IOException {
Storage.Objects.List listObjects = storage.objects().list(BUCKET_NAME);
listObjects.setMaxResults(5L);
com.google.api.services.storage.model.Objects objects = listObjects
.execute();
// üres csoport?
if (null == objects.getItems() || objects.getItems().isEmpty()) {
System.out.println("Bucket \"" + BUCKET_NAME
+ "\" empty or invalid.");
return null;
}
StorageObject object = objects.getItems().get(0);
System.out.println("First object in bucket: \"" + object.getName()
+ "\".");
return object.getName();
}
/**
* Metódus az adott fájlnak a tárhelycsoportból való letöltésére
*
* @param filename
* A letölteni kívánt fájl neve.
* @throws IOException
*/
public void DownloadFile(String filename) throws IOException {
Storage.Objects.Get getObject = storage.objects().get(BUCKET_NAME,
filename);
OutputStream os = new FileOutputStream(filename, true);
getObject.getMediaHttpDownloader().setDirectDownloadEnabled(true);
getObject.executeMediaAndDownloadTo(os);
System.out.println("File \"" + filename + "\" downloaded.");
}
/**
* A különböző tesztek végrehajtására szolgáló fő metódus.
*
* @param args
*/
public static void main(String[] args) {
GcsApiTest gcsApiTest = new GcsApiTest();
try {
String filename = gcsApiTest.GetFirstFile();
gcsApiTest.DownloadFile(filename);
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
Korlátozás és egyidejű kapcsolatok
Az egyidejű kapcsolatok száma nincs korlátozva előre meghatározott értékkel. A visszaélések elkerülése érdekében azonban a Google korlátozza az Adatátvitel eszközhöz irányuló lehívási kérelmeket.