แชร์ผ่าน


เริ่มต้นใช้งาน Java ด้วย Bing Ads API

สิ่งสำคัญ

เราขอแนะนําให้คุณใช้ Java 11 หรือใหม่กว่า เวอร์ชันขั้นต่ําของ Java ที่เราสนับสนุนคือ 1.8 คุณจําเป็นต้องขับ CXF ออกจากการขึ้นต่อกันของคุณเมื่อใช้ 1.8 คุณสามารถสร้าง ไฟล์ตัวอย่างนี้ ด้วย Maven ได้

เมื่อต้องเริ่มพัฒนาแอปพลิเคชัน BING ADS API ด้วย Java คุณสามารถเริ่มต้นด้วยตัวอย่างที่ให้มา หรือทําตามคําแนะนําแอปพลิเคชันสําหรับเว็บหรือเดสก์ท็อป

คุณจะต้องมีข้อมูลประจําตัวผู้ใช้ที่มีสิทธิ์เข้าถึง Microsoft Advertising ทั้งในการผลิตหรือ Sandbox สําหรับสภาพแวดล้อมการผลิต คุณจะต้องมีโทเค็นนักพัฒนาผลิต ไคลเอ็นต์ Sandbox ทั้งหมดสามารถใช้โทเค็นนักพัฒนา Sandbox สากลได้ เช่น BBD37VB98 สําหรับข้อมูลเพิ่มเติม โปรดดูเริ่มต้นใช้งาน API Bing Ads และ Sandbox

หากต้องการรับรองความถูกต้องผ่าน OAuth คุณต้องลงทะเบียนแอปพลิเคชันและรับตัวระบุไคลเอ็นต์ที่สอดคล้องกัน คุณยังต้องจดบันทึกข้อมูลลับของไคลเอ็นต์และเปลี่ยนเส้นทาง URI ถ้าคุณกําลังพัฒนาแอปพลิเคชันบนเว็บ สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลงทะเบียนแอปพลิเคชันในการผลิตและขั้นตอนการให้รหัสการให้สิทธิ์ โปรดดูการรับรองความถูกต้องด้วย OAuth และการรับรองความถูกต้องด้วย SDK แม้ว่าในการผลิตคุณต้องใช้ ID แอปพลิเคชันของคุณเอง (a.k.a. client ID) ลูกค้า Microsoft Advertising ทั้งหมดสามารถใช้ ID ไคลเอ็นต์ "แอปตัวอย่างบทช่วยสอน" สาธารณะใน Sandbox เช่น 00001111-aaaa-2222-bbbb-3333cccc4444 สําหรับข้อมูลเพิ่มเติม โปรดดู Sandbox

ติดตั้ง SDK

Bing Ads Java SDK ขึ้นอยู่กับไลบรารีที่ระบุไว้ในที่เก็บ Maven

เมื่อคุณสร้างโครงการ Maven และรวม microsoft.bingads Maven artifact ตามที่แสดงด้านล่าง การขึ้นต่อกันเพิ่มเติมจะถูกติดตั้งโดยอัตโนมัติ หากคุณไม่ได้ใช้โครงการ Maven คุณต้องมีเวอร์ชันที่ถูกต้องของการขึ้นต่อกันแต่ละครั้ง สําหรับข้อมูลเพิ่มเติม โปรดดู ที่ คําแนะนํา: Bing Ads แอปพลิเคชันบนเว็บ API ใน Java หรือ คําแนะนํา: Bing Ads แอปพลิเคชัน API Desktop ใน ตัวอย่างแอปพลิเคชัน Java

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  ...
  <dependencies>
    <dependency>
      <groupId>com.microsoft.bingads</groupId>
      <artifactId>microsoft.bingads</artifactId>
      <version>13.0.10</version>
    </dependency>
  </dependencies>
</project>

หมายเหตุ

เวอร์ชัน 13.0.10 จะรวมอยู่ในตัวอย่าง สําหรับรายละเอียดเกี่ยวกับเวอร์ชันการขึ้นต่อกันของ SDK ล่าสุด โปรดดู README.md README.md Bing Ads Java SDK GitHub

การฝึกปฏิบัติ

เมื่อคุณติดตั้ง Java SDK Bing Ads แล้ว คุณสามารถเรียกดู Bing Ads ตัวอย่างรหัส API ดาวน์โหลดตัวอย่างจาก GitHub หรือทําตามหนึ่งในคําแนะนําแอปพลิเคชันสําหรับแอปพลิเคชันบนเว็บหรือเดสก์ท็อป

การกําหนดค่า Sandbox

เมื่อต้องการใช้สภาพแวดล้อม Sandbox ให้สร้างไฟล์ข้อความที่ชื่อ ว่า bingads.properties ใหม่ภายในไดเรกทอรีรากของแหล่งโครงการของคุณ เช่น ProjectName\src\bingads.properties และเพิ่มข้อความต่อไปนี้ ต่อไปนี้คือเนื้อหาทั้งหมดของไฟล์ bingads.properties ถ้าการตั้งค่าสภาพแวดล้อมของ Sandbox มีรูปแบบที่ไม่ถูกต้องหรือขาดหายไป สภาพแวดล้อมเริ่มต้นคือการผลิต

environment=Sandbox

คุณยังสามารถตั้งค่าสภาพแวดล้อมสําหรับแต่ละ ServiceClient เป็นรายบุคคลได้ดังนี้

CustomerService = new ServiceClient<ICustomerManagementService>(
    authorizationData,
    ApiEnvironment.SANDBOX,
    ICustomerManagementService.class
);

ไม่ว่าคุณจะตั้งค่าสภาพแวดล้อม ServiceClient แบบส่วนกลางหรือโดยแยกจากกัน คุณจะต้องตั้งค่าสภาพแวดล้อม OAuth เป็น Sandbox ด้วย

final OAuthDesktopMobileAuthCodeGrant oAuthDesktopMobileAuthCodeGrant = new OAuthDesktopMobileAuthCodeGrant(
    ClientId, 
    ApiEnvironment.SANDBOX
);

แอปพลิเคชันบนเว็บที่มีความลับของไคลเอ็นต์และ URI การเปลี่ยนเส้นทางแบบกําหนดเองควรใช้ OAuthWebAuthCodeGrant ดังนี้

OAuthWebAuthCodeGrant oAuthWebAuthCodeGrant = new OAuthWebAuthCodeGrant(
    ClientId, 
    ClientSecret, 
    new URL(RedirectUri),
    ApiEnvironment.SANDBOX
);

บันทึกคําขอและส่วนหัวการตอบสนองในคอนโซล TrackingId จะรวมอยู่ในส่วนหัวการตอบสนอง

MessageHandler.getInstance().setTraceOn(true);

การกําหนดไคลเอ็นต์ HTTP เอง

สําหรับแอปพลิเคชันส่วนใหญ่ เราขอแนะนําให้ใช้ไคลเอ็นต์ HTTP เริ่มต้นใน Bing Ads Java SDK ซึ่งขึ้นอยู่กับไคลเอ็นต์ Apache CXF JAX-RS คุณอาจต้องการกําหนดไคลเอ็นต์ HTTP เพื่อกําหนดค่าคุณลักษณะบางอย่าง เช่น การเปิดใช้งานการบีบอัดถ้าคุณใช้การดําเนินการ JAX-RS อื่น เพื่อเปลี่ยนการหมดเวลา HTTP การกําหนดค่าพร็อกซี หรือการตั้งค่าอื่น ๆ

เมื่อต้องการทําเช่นนั้น คุณสามารถสร้างวัตถุแบบกําหนดเอง HttpClientProvider และส่งผ่านไปยัง GlobalSettings.setHttpClientProvider() ก่อนทําการเรียกใช้บริการได้ ตัวอย่างเช่น:

GlobalSettings.setHttpClientProvider(new HttpClientProvider() 
{ 
    @Override 
    protected ClientBuilder configureClientBuilder(ClientBuilder clientBuilder) { 
        return super.configureClientBuilder(clientBuilder) 
            // override default connect timeout 
            .connectTimeout(90, TimeUnit.SECONDS)
            // override default read timeout
            .readTimeout(5, TimeUnit.MINUTES) 
            // enable compression (if using Jersey client)
            .register(org.glassfish.jersey.message.GZipEncoder.class)
            .register(org.glassfish.jersey.client.filter.EncodingFilter.class);
    }
}); 

การบันทึกการเรียกบริการ

เมื่อต้องการเปิดใช้งานการบันทึกสําหรับข้อความการร้องขอและการตอบกลับ คุณสามารถตั้งค่า com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump คุณสมบัติเป็น true:

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");

ตามค่าเริ่มต้น Bing Ads Java SDK ใช้ Apache CXF เพื่อเรียกใช้บริการ ซึ่งขึ้นอยู่กับ อาคารการบันทึกอย่างง่ายสําหรับ Java สําหรับการเขียนบันทึก หากต้องการส่งออกข้อความที่บันทึกไปยังคอนโซล คุณสามารถเพิ่มการใช้งานไปยังการขึ้นต่อกันของ slf4j-simple แอปพลิเคชันของคุณได้ ตัวอย่างเช่น:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>2.0.12</version> 
</dependency> 

ดูเพิ่มเติม

ไลบรารีไคลเอ็นต์ Bing Ads API
ตัวอย่างโค้ด API Bing Ads
ที่อยู่บริการเว็บ Bing Ads API
การจัดการข้อผิดพลาดและข้อยกเว้นของบริการ
กระบะทราย