Bildirim

Yalnızca Google Ad Manager 360'ta kullanılabilir.

Ad Manager depolama alanı gruplarına erişim

Veri Aktarımı dosyalarınızı indirme

Google Cloud Storage Ad Manager'ın, Veri Aktarımı raporları ve toplu yüklenen kitle çerezi kimlikleri için veri havuzu olarak kullandığı ayrı bir Google ürünüdür.

Bu makalenin amacı, standart Google Cloud Storage teknolojilerini Ad Manager'ın belirli bulut depolama alanı kurulumu ile arayüz oluşturmak amacıyla kullanmanıza yardımcı olmaktır. Ancak Google Cloud Storage için birincil referansınız Google Cloud Storage geliştirici sitesi olacaktır.

Yöntemler

Ad Manager bulut depolama alanı gruplarına erişmek için kullanabileceğiniz en basitten en karmaşığa doğru sıralanmış üç yol mevcuttur:

  • İnternette: https://console.developers.google.com/storage/gdfp-[Ad Manager ağ kodu] adresini ziyaret edin.
  • gsutil, depolama alanı grubu ile etkileşim için Unix benzeri komutlar sağlayan Python tabanlı bir komut satırı aracıdır. Grup kimlik doğrulaması soyutlanır ve otomatik olarak işlenir.
  • Google Cloud Storage API'sı, JSON veya XML RESTful web arayüzleri üzerinden kullanılabilen, depolama alanı grubunu yönetmeye yönelik tam donanımlı bir API'dır. Java, JavaScript, Python ve Objective-C dahil olmak üzere birçok popüler programlama ortamı için API istemci kitaplıkları mevcuttur. Bu yaklaşım, depolama alanı gruplarını bir Google App Engine uygulaması veya Java web uygulaması ile entegre etmek üzere programlı olarak işlemeniz gerektiğinde özellikle faydalıdır.

Bu makalede, Google Cloud Storage API'si ile ilgili ayrıntılı bilgiler sunulmaktadır. Web ve gsutil erişiminin yönetimi daha kolay olduğundan ilk olarak bu yöntemleri incelemenizi öneririz. Bu yöntemler Google Cloud Storage geliştirici sitesinde eksiksiz olarak belgelenmiştir.

Ad Manager depolama alanı gruplarına erişimi yönetme

Ad Manager tarafından kullanılan depolama alanı grupları, Google'a ait bir bulut depolama alanı projesi içinde bulunur. Ad Manager depolama alanı grupları, Google Developers Console'da kendi proje listenizin altında görünmez.

Ad Manager depolama alanı gruplarına bağlı özellikleri ayarlamak için Google temsilcinizle çalışmanız gerekecektir. Temsilci, depolama alanı gruplarınızı yönetirken kullanabileceğiniz bir Google grubu sağlayacaktır.

Mevcut bir G Suite grubunun yöneticisiyseniz G Suite Google grubunuzun adını özellik etkinleştirme işleminin bir parçası olarak temsilcinizle paylaşabilirsiniz. Temsilci, mevcut grubunuzu kullanarak Ad Manager depolama alanı gruplarını kullanan herhangi bir özelliği etkinleştirmek için sizinle birlikte çalışacaktır.

Veri Aktarımı erişimi olan birden çok Ad Manager ağını yönetiyorsanız ağ yönetiminin birleştirilebilmesi için bu durumu Google temsilcinize iletmeniz gerekir. Ağlarınızdaki tüm Veri Aktarımı gruplarını yönetmek için bir grup kullanılacaktır.

G Suite kapsamında olmayan Google grupları, Ad Manager depolama alanı gruplarını yönetmek için kullanılamaz.

Google Cloud Storage API'sini kullanma

API erişiminin ihtiyaçlarınız için en uygun çözüm olduğunu belirlediyseniz bir Google Cloud Storage hizmet hesabını yapılandırmanızı öneririz.

Google Cloud Storage hizmet hesabı yapılandırma

API üzerinden depolama alanı grubuna erişirken bir kullanıcı bağlamında çalıştırmak yerine hizmet hesabı yapılandırmak tercih edilir. Hizmet hesapları, kimlik doğrulaması için dinamik olarak oluşturulmuş OAuth jetonu yerine bir özel anahtar kullanarak uygulama geliştirmeyi basitleştirir. Bir hizmet hesabı yapılandırmak için:

  1. Google Developers Console'a gidin.

  2. Yeni proje oluşturun veya mevcut bir projeyi uygulamanızın üst öğesi olarak seçip projeyi tıklayın.

  3. (İsteğe bağlı) Ad Manager depolama alanı grubundaki dosyaları kendi Google Cloud Storage hesabınıza kopyalamayı planlıyorsanız projenize faturalandırma kaynağı eklemek için Faturalandırma ve ayarlar'ı tıklayın.

  4. Yeni istemci kimliği oluşturun:

    1. API'ler ve Hizmetler > Kimlik bilgileri'ni tıklayın.

    2. Yeni İstemci Kimliği oluştur'u tıklayın.

    3. Uygulama türü olarak Hizmet hesabı'nı seçip İstemci Kimliği oluştur'u tıklayın.

    4. Oluşturulan e-posta adresi şu biçimde olacaktır: [unique-id]@developer.gserviceagccount.com. Bu adresi kopyalayıp Google grubunuza eklemek üzere kaydedin.

    5. Yeni P12 anahtarı oluştur'u tıklayın. Dosya bilgisayarınıza kaydedilir. Bu anahtarı aşağıdaki örnekte gösterildiği gibi, API'ye erişmek üzere geliştirdiğiniz uygulamalarda kullanın.

  5. Ad Manager depolama alanı gruplarınıza erişimi yönetmek için e-posta adresini, oluşturduğunuz Google grubuna ekleyin. Hizmet hesabını eklemek için "davet et" seçeneği yerine Üyeleri doğrudan ekle'yi tıklayın. Erişiminiz yoksa Google grubu yöneticisinden sizin yerinize adresi eklemesini isteyin. 
Kod örneği

Google, Google Cloud Storage için kod örnekleri ve kitaplıkları sağlar. Bir Ad Manager bulut depolama alanı grubundan dosya okumayla ilgili aşağıdaki Java örneği, hizmet hesabını oluştururken yapılandırdığınız bileşenlerin kodunuzu nasıl etkileyebileceğini gösterir:

  • Proje adı: Google Cloud Storage projesinin adı.

  • Hizmet hesabı e-posta adresi: Oluşturduğunuz e-posta adresi.

  • .p12 anahtar dosyası: İndirdiğiniz dosya.

  • Grup adı: Bu ad, Ad Manager bulut depolama alanı gruplarını kullanan bir özelliği etkinleştirdiğinizde Google tarafından sağlanır.

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 {
    /**
     * Hizmet hesabının, altında oluşturulduğu projenin adı.
     * 
     * Bu bilgiler, Google Developers Console altında görünür.
     */
    private static final String PROJECT_NAME = "project name";

    /**
     * Hizmet hesabının Geliştirici E-posta adresi.
     * 
     * Bu e-posta adresi, Google Developers Console'da bir Hizmet Hesabı
     * İstemci Kimliği oluşturulduktan sonra oluşturulur ve Kimlik Bilgileri
     * sayfasından alınabilir. Bu e-posta adresi ayrıca, depolama alanı grubuna erişimi
     * yönetmek için kullanılan Google Grubu'na da eklenmelidir.
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "service account email address";

    /**
     * Depolama alanı işlemleri için kullanılacak grup.
     * 
     * Bu grubun adı size Hesap Yöneticiniz tarafından
     * sağlanmıştır. Kullandığınız Ad Manager eklentisine bağlı olarak muhtemelen "gdfp-12345678" veya
     * "gdfp_cookieupload_12345678" benzeri bir ada sahiptir.
     */
    private static final String BUCKET_NAME = "bucket name";

    /**
     * Okuma/yazma için Google Cloud Storage OAuth 2.0 kapsamı. Bu
     * Google Grubunuzun grup için sahip olduğu erişim haklarına karşılık
     * gelmelidir ve Gruba verilmemiş olan erişim haklarını isteyemezsiniz
     * (bunlar salt_okunur olabilir).
     */
    private static final String STORAGE_SCOPE = 
        "https://www.googleapis.com/auth/devstorage.read_write";

    /**
     * Gruba erişim sağlayan key.p12 dosyasının yolu.
     * 
     * Bu dosya, hizmet istemci kimliği oluşturulduğunda oluşturulur. Bu
     * dosyaya sahip değilseniz Google Developers Console'dan
     * yeni bir istemci p12 anahtarı oluşturmanız gerekecektir.
     */
    private static final String KEY_P12 = "path to .p12 key file";

    /** HTTP aktarımı. */
    private HttpTransport httpTransport;
    private Storage storage;

    // constructor, kimlik bilgilerini ve depolama nesnelerini oluşturur
    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);
	}
    }

    /**
     * Gruptaki ilk dosyanın adını döndürmeye yönelik basit yöntem.
     * 
     * @dosyanın adını döndürür veya grup boş ise null döndürür
     * @IOException fırlatır
     */
    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();
    }

    /**
     * Depolama alanı grubundan belirtilen dosyayı indirmeye yönelik yöntem
     * 
     * @param filename
     *            İndirilmesi gereken dosyanın adı.
     * @IOException hatası verir
     */
    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.");
    }

    /**
     * Farklı testleri yürüten ana yöntem.
     * 
     * @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());
	}
    }
}

Kısıtlama ve eşzamanlı bağlantılar

Eşzamanlı bağlantılarda önceden belirlenmiş bir sınır yoktur. Ancak Google kötüye kullanımı engellemek için Veri Aktarımı getirme isteklerini kısıtlar.

En son haberler için resmi Google Code blogunun Google Cloud Storage bölümüne göz atabilir ve sorularınızı Google Cloud Storage Tartışma Forumu'na gönderebilirsiniz. Sizin için uygun şekilde konu satırına "Hata" veya "Özellik İsteği" yazın. Google Cloud Storage ile ilgili diğer sorular için Google Cloud Storage SSS bölümüne bakın.

Bu size yardımcı oldu mu?

Bunu nasıl iyileştirebiliriz?
Arama
Aramayı temizle
Aramayı kapat
Ana menü
8209110714677437724
true
Yardım Merkezinde Arayın
true
true
true
true
true
148
false
false