Oznámení

K dispozici pouze ve službě Google Ad Manager 360.

Přístup k segmentům služby Ad Manager v úložišti

Jak stáhnout soubory Přenosu dat

Google Cloud Storage je samostatná služba Google, kterou služba Ad Manager používá jako datové úložiště pro přehledy Přenosu dathromadně nahraná ID souborů cookie publika.

Tento článek vám má pomoci s použitím standardních technologií Google Cloud Storage k propojení s konfigurací cloudového úložiště služby Ad Manager. Primárním referenčním zdrojem pro službu Google Cloud Storage je však web služby Google Cloud Storage pro vývojáře.

Metody

K segmentům služby Ad Manager v cloudovém úložišti lze získat přístup třemi způsoby. V pořadí podle složitosti:

  • Na webu: Navštivte stránku https://console.developers.google.com/storage/gdfp-[[kód sítě Ad Manager]].
  • gsutil je na Pythonu založený nástroj příkazového řádku, který umožňuje interakci se segmenty v úložišti prostřednictvím příkazů podobných Unixu. Ověření pro segmenty je abstrahováno a provádí se automaticky.
  • Google Cloud Storage API je úplné rozhraní API k manipulaci se segmentem úložiště dostupné prostřednictvím RESTful webových rozhraní JSON a XML. Klientské knihovny rozhraní API jsou k dispozici pro mnoho oblíbených programovacích prostředí, včetně Javy, JavaScriptu, Pythonu a Objective-C. Tento přístup je nejužitečnější, pokud se segmenty úložiště potřebujete manipulovat programaticky kvůli integraci s aplikací Google App Engine nebo webovou aplikací v jazyce Java.

Tento článek obsahuje podrobné informace o rozhraní Google Cloud Storage API. Správa přístupu pomocí webu a nástroje gsutil je snazší, proto doporučujeme nejdříve prozkoumat tyto metody. Jsou plně zdokumentovány na webu Google Cloud Storage pro vývojáře.

Správa přístupu k segmentům služby Ad Manager v úložišti

Segmenty úložiště používané službou Ad Manager jsou zahrnuty v projektu cloudového úložiště vlastněném společností Google. Segmenty úložiště služby Ad Manager se nezobrazují v seznamu vašich vlastních projektů v konzoli Google Developers Console.

Za účelem nastavení funkcí, které jsou závislé na segmentech služby Ad Manager v úložišti, budete muset spolupracovat se zástupcem společnosti Google. Poskytne vám skupinu Google, kterou budete moci použít ke správě segmentů v úložišti.

Pokud jste administrátor existující skupiny G Suite, můžete svému zástupci v rámci procesu aktivace funkcí sdělit název své skupiny Google G Suite. Zástupce vám funkce, které používají segmenty služby Ad Manager v úložišti, aktivuje pomocí vaší stávající skupiny.

Pokud spravujete více než jednu síť Ad Manager s přístupem k Přenosu dat, měli byste to zástupci společnosti Google sdělit, aby správu sítě mohl zkonsolidovat. Ke správě všech segmentů Přenosu dat všech vašich sítí se bude používat jedna skupina.

Skupiny Google, které nejsou součástí služby G Suite, ke správě segmentů služby Ad Manager v úložišti nelze použít.

Použití rozhraní Google Cloud Storage API

Pokud jste vyhodnotili, že je pro vaše potřeby nejlepší přístup přes rozhraní API, doporučujeme vám nakonfigurovat servisní účet služby Google Cloud Storage.

Konfigurace servisního účtu služby Google Cloud Storage

Při přístupu k segmentu v úložišti přes rozhraní API doporučujeme nepoužívat kontext uživatele, ale servisní účet. Servisní účty vývoj aplikací zjednodušují, protože se u nich k ověření namísto dynamicky generovaného tokenu OAuth používá soukromý klíč. Servisní účet nakonfigurujete takto:

  1. Přejděte do konzole Google Developer Console.

  2. Vytvořte nový projekt (nebo vyberte existující projekt), pod který aplikace bude patřit, a klikněte na něj.

  3. (Volitelné) Pokud máte v plánu kopírovat soubory ze segmentu služby Ad Manager v úložišti do svého účtu Google Cloud Storage, klikněte na Billing & settings (Fakturace a nastavení) a přidejte do projektu zdroj fakturace.

  4. Vytvořte nové ID klienta:

    1. Klikněte na APIs & Services > Credentials (API a služby > Identifikační údaje).

    2. Klikněte na Create new Client ID (Vytvořit nové ID klienta).

    3. Jako typ aplikace vyberte Service account (Servisní účet) a poté klikněte na Create Client ID (Vytvořit ID klienta).

    4. Vygenerovaná e‑mailová adresa bude mít formát [jedinečné-id]@developer.gserviceagccount.com. Zkopírujte a uložte si ji, abyste ji mohli přidat do své skupiny Google.

    5. Klikněte na Generate new P12 key (Vytvořit nový klíč P12). Soubor se uloží do počítače. Tento klíč použijte k přístupu k rozhraní API v aplikacích, které vyvíjíte, jak je uvedeno v příkladu kódu níže.

  5. Vygenerovanou e‑mailovou adresu přidejte do skupiny Google, kterou jste vytvořili pro správu přístupu k segmentům služby Ad Manager v úložišti. Při přidávání servisního účtu klikněte na Přidat členy přímo (nikoliv na Pozvat). Pokud nemáte potřebné oprávnění, požádejte o přidání této adresy správce skupiny. 
Příklad kódu

Společnost Google poskytuje ukázky kódu a knihovny pro službu Google Cloud Storage. Následující příklad v jazyce Java ke čtení souboru ze segmentu služby Ad Manager v cloudovém úložišti ukazuje, jak mohou být součásti nakonfigurované při nastavování účtu služby začleněny do kódu:

  • Název projektu: Název projektu Google Cloud Storage.

  • E‑mailová adresa servisního účtu: E‑mailová adresa, kterou jste vygenerovali.

  • Soubor klíče .p12: Stažený soubor.

  • Název segmentu: Tento název poskytuje Google při aktivaci funkce, která využívá segmenty služby Ad Manager v cloudovém úložišti.

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 {
    /**
     * The name of the project under which the service account was created.
     * 
     * This information is displayed under the Google Developers Console.
     */
    private static final String PROJECT_NAME = "project name";

    /**
     * Developer Email address of the service account.
     * 
     * This email is generated upon creating a Service Account Client ID in your
     * Google Developers Console, and can be retrieved from the Credentials
     * page. This email must also be added to the Google Group used to control
     * access to the storage bucket.
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "service account email address";

    /**
     * Bucket to use for storage operations.
     * 
     * The name of this bucket was provided to you by your Account
     * Manager. It likely has a name similar to "gdfp-12345678" or
     * "gdfp_cookieupload_12345678", depending on the Ad Manager add-on you're using.
     */
    private static final String BUCKET_NAME = "bucket name";

    /**
     * Google Cloud Storage OAuth 2.0 scope for read/write. This should
     * correspond to the access rights that your Google Group has for the
     * bucket, and you cannot request access rights that are not granted to the
     * Group (which may be read_only).
     */
    private static final String STORAGE_SCOPE = 
        "https://www.googleapis.com/auth/devstorage.read_write";

    /**
     * Path to the key.p12 file providing access to the bucket.
     * 
     * This file is created when the service client ID is created. If you don't
     * have this file, you will need to generate a new client p12 key from the
     * Google Developers Console.
     */
    private static final String KEY_P12 = "path to .p12 key file";

    /** HTTP transport. */
    private HttpTransport httpTransport;
    private Storage storage;

    // constructor, sets up credentials and storage objects
    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);
	}
    }

    /**
     * Method to return the name of the first file in the bucket.
     * 
     * @return the name of the file, or null if the bucket is empty
     * @throws 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();

	// empty bucket?
	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();
    }

    /**
     * Method to download the specified file from the storage bucket
     * 
     * @param filename
     *            Name of the file that should be downloaded.
     * @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.");
    }

    /**
     * Main method to execute the different tests.
     * 
     * @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());
	}
    }
}

Omezování a souběžná připojení

Není dán žádný předdefinovaný limit souběžných připojení. Ve snaze zabránit zneužívání však společnost Google požadavky k načtení Přenosu dat omezuje.

Nejnovější zprávy najdete v sekci Google Cloud Storage oficiálního blogu Google Code. Dotazy můžete publikovat v diskuzním fóru služby Google Cloud Storage. Do předmětu přidejte text „Bug“ (Chyba) nebo „Feature Request“ (Žádost o funkci). Odpovědi na další dotazy ohledně služby Google Cloud Storage naleznete v častých dotazech ohledně služby Google Cloud Storage.

Pomohly vám tyto informace?

Jak bychom článek mohli vylepšit?
Vyhledávání
Vymazat vyhledávání
Zavřít vyhledávání
Hlavní nabídka
955893741503091499
true
Prohledat Centrum nápovědy
true
true
true
true
true
148
false
false