Nachdem du alles eingerichtet hast, prüfe, ob du ein Muster senden kannst -Anfrage an die Search Ads 360 API. Im folgenden Codebeispiel wird veranschaulicht, Sie senden eine asynchrone Anfrage. für die Liste der Kampagnen des Werbetreibenden. Wenn die Anfrage erfolgreich war, erhalten Sie eine Antwort von der Search Ads 360-API, dass der Bericht erstellt wurde aber noch nicht bereit. Das liegt daran, dass für asynchrone Anfragen einen Bericht herunterladen).
Sie müssen Ihr eigenes OAuth 2.0-Zugriffstoken und Ihre eigene Agentur-ID in der Anfrage. So finden Sie Ihre Agentur-ID:
- Rufen Sie die Search Ads 360-UI auf.
- Ihre Agentur- und Werbetreibenden-IDs werden in der URL direkt nach dem Tag
Präfix
ay=
undav=
. Beispiel:
https://searchads.google.com/ds/cm/cm/cm/cm#campaigns.ay=123456789012345678;av=123456789012345678;
JSON
POST https://www.googleapis.com/doubleclicksearch/v2/reports Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "reportScope": { "agencyId": "your agency ID", "advertiserId": "your advertiser ID" }, "reportType": "campaign", "columns": [ { "columnName": "campaignId" }, { "columnName": "campaign" } ], "downloadFormat": "csv", "maxRowsPerFile": 6000000, "statisticsCurrency": "agency" }
Verwenden Sie das Dienstprogrammskript von Search Ads 360, um diese Anfrage zu senden
Zum Senden einer JSON-POST-Anfrage im Rohformat können Sie die Methode sa360Api.py so an:
- Kopieren Sie das JSON-Beispielobjekt (alles dazwischen und einschließlich der beiden
geschweiften Klammern) in eine neue Textdatei mit dem Namen
request.txt
. - Ändern Sie die Agentur-ID im JSON-Code in Ihre eigene Agentur-ID.
- Entferne alle Kommentare, z. B.
// The date column segments the report by individual days.
. - Stellen Sie Ihre OAuth 2.0-Anmeldedaten in einem einzigen, durch Kommas getrennten String zusammen als
folgt:
client-ID,client-secret,refresh-token
Dies ist derselbe String, densa360Api.py
ausgibt, wenn Siesa360Api.py --login
ausführen, wie unter Einrichtung Autorisierung.) - Rufen Sie
sa360Api.py
so auf:
sa360Api.py --cred CREDENTIALS --server API-method --post < request.txt
Ersetzen Sie im obigen BefehlCREDENTIALS
durch den String, den Sie im vorherigen Schritt zusammengestellt haben.
Geben Sie im Feld unten den Namen der POST-Methode fürAPI-method
ein.Beispiel:
sa360Api.py --cred 123456789123.apps.googleusercontent.com,ABCDEFGHIJKLMNOPQR_abcdef,1/HIJklM01OPQR23NOP456rst890uvw --server https://www.googleapis.com/doubleclicksearch/v2/reports/generate --post < request.txt
Java
import com.google.api.client.googleapis.json.GoogleJsonError.ErrorInfo; import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.services.doubleclicksearch.Doubleclicksearch; import com.google.api.services.doubleclicksearch.model.ReportApiColumnSpec; import com.google.api.services.doubleclicksearch.model.ReportRequest; import com.google.api.services.doubleclicksearch.model.ReportRequest.ReportScope; import com.google.api.services.doubleclicksearch.model.ReportRequest.TimeRange; import java.io.IOException; import java.util.Arrays; /** * Creates a campaign report request, submits the report, and returns the report ID. */ private static String createReport(Doubleclicksearch service) throws IOException { try { return service.reports().request(createSampleRequest()).execute().getId(); } catch (GoogleJsonResponseException e) { System.err.println("Report request was rejected."); for (ErrorInfo error : e.getDetails().getErrors()) { System.err.println(error.getMessage()); } System.exit(e.getStatusCode()); return null; // Unreachable code. } } /** * Returns a simple static request that lists the ID and name of all * campaigns under agency 20100000000000895 and advertiser 21700000000011523. * Substitute your own agency ID and advertiser IDs for the IDs in this sample. */ private static ReportRequest createSampleRequest() { return new ReportRequest() .setReportScope(new ReportScope() .setAgencyId(20100000000000895L) // Replace with your ID .setAdvertiserId(21700000000011523L)) // Replace with your ID .setReportType("campaign") .setColumns(Arrays.asList( new ReportApiColumnSpec[] { new ReportApiColumnSpec().setColumnName("campaignId"), new ReportApiColumnSpec().setColumnName("campaign") })) .setTimeRange(new TimeRange() .setStartDate("2014-05-01") .setEndDate("2014-05-01")) .setDownloadFormat("csv") .setStatisticsCurrency("usd") .setMaxRowsPerFile(5000000); }
.NET
using System; using System.Collections.Generic; using System.IO; using System.Threading; using Google.Apis.Auth.OAuth2; using Google.Apis.Auth.OAuth2.Flows; using api = Google.Apis.Doubleclicksearch.v2; /// <summary> /// Creates a campaign report request, submits the report, and returns the report ID. /// </summary> /// <param name="service">Search Ads API service.</param> private static string CreateReport(api.DoubleclicksearchService service) { var req = service.Reports.Request(CreateSampleRequest()); var report = req.Execute(); Console.WriteLine("Created report: ID={0}", report.Id); return report.Id; } /// <summary> /// Returns a simple static request that lists the ID and name of all /// campaigns under agency 20100000000000895 and advertiser 21700000000011523. /// Substitute your own agency ID and advertiser IDs for the IDs in this sample. /// </summary> private static api.Data.ReportRequest CreateSampleRequest() { return new api.Data.ReportRequest { ReportScope = new api.Data.ReportRequest.ReportScopeData { AgencyId = 20100000000000895, AdvertiserId = 21700000000011523, }, ReportType = "campaign", Columns = new List<api.Data.ReportRequest.ColumnsData> { new api.Data.ReportRequest.ColumnsData { ColumnName = "campaignId", }, new api.Data.ReportRequest.ColumnsData { ColumnName = "campaign", }, }, TimeRange = new api.Data.ReportRequest.TimeRangeData { StartDate = "2014-01-01", EndDate = "2014-01-31", }, DownloadFormat = "csv", StatisticsCurrency = "usd", MaxRowsPerFile = 5000000, }; }
Python
def generate_report(service): """Generate and print sample report. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.reports().request( body = { "reportScope": { "agencyId": "your agency ID", "advertiserId": "your advertiser ID" }, "reportType": "campaign", "columns": [ { "columnName": "campaignId" }, { "columnName": "campaign" } ], "downloadFormat": "csv", "maxRowsPerFile": 6000000, "statisticsCurrency": "agency" } ) pprint.pprint(request.execute())