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.
Módszerek
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.
Az Ad Manager-tárhelycsoportokhoz való hozzáférés kezelése
Az Ad Manager által használt tárhelycsoportok a Google felhőalapú tárolási projektjében találhatók. Az Ad Manager tárhelycsoportjai nem jelennek meg a saját projektlistája alatt a Google Developers Console felületén.
Google-képviselőjével együttműködve állíthat be olyan funkciókat, amelyek az Ad Manager tárhelycsoportjaira hagyatkoznak. A tárhelycsoportokat a képviselője által biztosított Google-csoportban kezelheti majd.
Ha Ön valamelyik meglévő G Suite-csoport adminisztrátora, megadhatja G Suite Google-csoportja nevét a képviselőnek a funkcióaktiválási folyamat során. Képviselője segít aktiválni az Ad Manager tárhelycsoportjait használó funkciókat, amelyeket Ön a meglévő csoportjával használhat.
Ha egynél több olyan Ad Manager-hálózatot kezel, amely hozzáfér az Adatátvitel eszközhöz, tájékoztassa Google-képviselőjét, aki segíteni tud a hálózatkezelés összevonásában. Ön egyetlen csoporttal tudja majd kezelni a hálózataihoz tartozó összes Adatátvitel-csoportot.
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 APIs & Services (API-k és szolgáltatások) > Credentials (Hitelesítési adatok) elemre.
-
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
. Másolja vágólapra, és őrizze meg a Google-csoporthoz való hozzáadás céljából. -
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ó.
-
- Adja hozzá az e-mail-címet az Ad Manager-tárhelycsoportok kezelésére létrehozott Google-csoporthoz. A szolgáltatásfiók hozzáadásához a Direct add members (Tagok közvetlen hozzáadása) lehetőségre kattintson a „meghívás” gomb helyett. Ha nem rendelkezik hozzáféréssel, kérje meg a Google-csoport adminisztrátorát, hogy adja hozzá a címet az Ön nevében.
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. Ezt az e-mail-címet a tárhelycsoporthoz való * hozzáférést szabályozó Google-csoporthoz is hozzá kell adni. */ 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. Ez * felel meg a Google-csoportnak a csoporttal kapcsolatos hozzáférési * jogosultságainak, és Ön nem igényelhet olyan hozzáférési jogokat, * melyekkel a Google-csoport nem rendelkezik (ez lehet például read_only). */ 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.