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

สิ่งสำคัญ

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

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

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

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

ติดตั้ง SDK

Bing Ads Java SDK ขึ้นอยู่กับไลบรารีที่แสดงอยู่ในที่เก็บ Maven

เมื่อคุณสร้างโปรเจ็กต์ Maven และรวมอาร์ทิแฟกต์ Microsoft.bingads Maven ตามที่แสดงด้านล่าง ระบบจะติดตั้งการขึ้นต่อกันเพิ่มเติมโดยอัตโนมัติ ถ้าคุณไม่ได้ใช้โครงการ Maven คุณต้องใส่เวอร์ชันที่ถูกต้องของการขึ้นต่อกันแต่ละรายการ สําหรับข้อมูลเพิ่มเติม โปรดดูบทสถัมภ์: แอปพลิเคชันเว็บ Bing Ads API ใน Java หรือบทสถัม: ตัวอย่างแอปพลิเคชันเดสก์ท็อป Bing Ads API ในแอปพลิเคชัน 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 GitHub ของ Bing Ads Java SDK

บทสรุป

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

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

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

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 You may want to customize the HTTP client to configure some features such as enabling compression if you use a different JAX-RS implementation, to change HTTP timeout, proxy configuration, or other settings.

เมื่อต้องการทําเช่นนั้น คุณสามารถสร้างวัตถุแบบกําหนดเอง 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.dumptrue:

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

ตามค่าเริ่มต้น Bing Ads Java SDK จะใช้ Apache CXF ในการเรียกใช้บริการ ซึ่งอาศัย Simple Logging Facade สําหรับ 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
การจัดการข้อผิดพลาดและข้อยกเว้นของบริการ
Sandbox