ทำตามขั้นตอนในคู่มือเริ่มใช้งานฉบับย่อนี้ จากนั้นคุณจะ แอปบรรทัดคำสั่ง Java ง่ายๆ ที่ส่งคำขอไปยังการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม การลงทะเบียน API ตัวแทนจำหน่าย
ข้อกำหนดเบื้องต้น
คุณต้องมีสิ่งต่อไปนี้เพื่อเรียกใช้การเริ่มต้นอย่างรวดเร็วนี้
- บัญชี Google ซึ่งเป็นสมาชิกของตัวแทนจำหน่ายการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม ของคุณได้ หากยังไม่ได้เริ่มต้นใช้งาน ให้ทำตามขั้นตอนในส่วนเริ่มต้นใช้งานใน คู่มือพอร์ทัลผู้ค้าปลีก
- Java 1.7 หรือสูงกว่า
- Gradle 2.3 ขึ้นไป
- อินเทอร์เน็ตและเว็บเบราว์เซอร์
ขั้นตอนที่ 1: เปิด API การตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม
- ใช้วิซาร์ดนี้เพื่อสร้างหรือเลือกโปรเจ็กต์ใน Google Developers Console และเปิด API โดยอัตโนมัติ คลิกต่อไป แล้วคลิกไปที่ข้อมูลเข้าสู่ระบบ
- ตั้งค่าคุณต้องการเข้าถึงข้อมูลใดเป็นข้อมูลแอปพลิเคชัน
- คลิกถัดไป ระบบจะแจ้งให้คุณสร้างบัญชีบริการ
- ตั้งชื่อที่สื่อความหมายสำหรับชื่อบัญชีบริการ
- จดบันทึกรหัสบัญชีบริการ (มีลักษณะคล้ายอีเมล) เนื่องจากคุณจะต้องใช้รหัสนี้ในภายหลัง
- ตั้งค่าบทบาทเป็นบัญชีบริการ > ผู้ใช้บัญชีบริการ
- คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสิ้น
- คลิกอีเมลของบัญชีบริการที่คุณสร้างขึ้น
- คลิก **Keys**
- คลิก**เพิ่มคีย์** แล้วคลิก**สร้างคีย์ใหม่**
- เลือก **JSON** สำหรับ**ประเภทคีย์**
- คลิกสร้าง แล้วคีย์ส่วนตัวจะดาวน์โหลดลงในคอมพิวเตอร์
- คลิก**ปิด**
- ย้ายไฟล์ไปยังไดเรกทอรีทํางาน แล้วเปลี่ยนชื่อเป็น
service_account_key.json
ขั้นตอนที่ 2: ลิงก์บัญชีบริการ
- เปิดพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม คุณอาจต้องลงชื่อเข้าใช้
- คลิก บริการ
- คลิก ลิงก์บัญชีบริการ
- ตั้งค่าอีเมลเป็นอีเมลของบัญชีบริการที่คุณสร้างขึ้น
- คลิกลิงก์บัญชีบริการเพื่อใช้บัญชีบริการกับบัญชีลงทะเบียนการตั้งค่าอุปกรณ์พร้อมใช้
ขั้นตอนที่ 3: เตรียมโปรเจ็กต์
ทำตามขั้นตอนด้านล่างเพื่อตั้งค่าโปรเจ็กต์ Gradle
เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างโปรเจ็กต์ใหม่ในไดเรกทอรีที่ทำงานอยู่
gradle init --type basic mkdir -p src/main/java src/main/resources
คัดลอกไฟล์
service_account_key.json
ที่คุณดาวน์โหลดในขั้นตอนที่ 1 ไปยังsrc/main/resources/
ไดเรกทอรีที่คุณสร้างไว้ข้างต้นเปิดไฟล์
build.gradle
เริ่มต้น แล้วแทนที่เนื้อหาด้วยโค้ดต่อไปนี้apply plugin: 'java' apply plugin: 'application' mainClassName = 'ResellerQuickstart' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.30.11' compile 'com.google.apis:google-api-services-androiddeviceprovisioning:+' compile 'com.google.oauth-client:google-oauth-client-jetty:+' }
ขั้นตอนที่ 4: ตั้งค่าตัวอย่าง
สร้างไฟล์ชื่อ src/main/java/ResellerQuickstart.java
แล้วคัดลอกโค้ดต่อไปนี้ลงในไฟล์ แล้วบันทึกไฟล์ แทรกพาร์ทเนอร์ผู้ค้าปลีกของคุณเอง
ID เป็นค่าสำหรับ PARTNER_ID
(บรรทัดแรกของแอป)
import com.google.api.client.auth.oauth2.Credential; 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.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.androiddeviceprovisioning.v1.AndroidProvisioningPartner; import com.google.api.services.androiddeviceprovisioning.v1.model.Company; import com.google.api.services.androiddeviceprovisioning.v1.model.ListCustomersResponse; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Arrays; import java.util.List; /** * This class forms the quickstart introduction to the zero-touch enrollemnt * reseller API. */ public class ResellerQuickstart { // TODO: replace this with your partner reseller ID. private static long PARTNER_ID = 11036885; // Use a single scope for the all methods in the reseller API. private static final List<String> SCOPES = Arrays.asList("https://www.googleapis.com/auth/androidworkprovisioning"); private static final String APP_NAME = "Zero-touch Reseller Java Quickstart"; // Global shared instances. private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); private static HttpTransport HTTP_TRANSPORT; static { try { HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport(); } catch (Throwable t) { t.printStackTrace(); System.exit(1); } } /** * Creates a Credential object with the correct OAuth2 authorization * for the service account that calls the reseller API. The service * endpoint invokes this method when setting up a new service instance. * @return an authorized Credential object. * @throws IOException */ public static Credential authorize() throws IOException { // Load the service account key from the JSON file. InputStream in = ResellerQuickstart.class.getResourceAsStream("/service_account_key.json"); // Create the credential scoped to the zero-touch enrollemnt // reseller APIs. GoogleCredential credential = GoogleCredential .fromStream(in) .createScoped(SCOPES); return credential; } /** * Builds and returns an authorized zero-touch enrollment API client service. * Use the service endpoint to call the API methods. * @return an authorized client service endpoint * @throws IOException */ public static AndroidProvisioningPartner getService() throws IOException { Credential credential = authorize(); return new AndroidProvisioningPartner.Builder( HTTP_TRANSPORT, JSON_FACTORY, credential) .setApplicationName(APP_NAME) .build(); } /** * Runs the zero-touch enrollment quickstart app. * @throws IOException */ public static void main(String[] args) throws IOException { // Create a zero-touch enrollment API service endpoint. AndroidProvisioningPartner service = getService(); // Send an API request to list all our customers. AndroidProvisioningPartner.Partners.Customers.List request = service.partners().customers().list(PARTNER_ID); ListCustomersResponse response = request.execute(); // Print out the details of each customer. if (response.getCustomers() != null) { java.util.List<Company> customers = response.getCustomers(); for (Company customer : customers) { System.out.format("Name:%s ID:%d\n", customer.getCompanyName(), customer.getCompanyId()); } } else { System.out.println("No customers found"); } } }
รหัสพาร์ทเนอร์
โดยปกติการเรียก API ต้องใช้รหัสพาร์ทเนอร์ตัวแทนจำหน่ายของคุณเป็นอาร์กิวเมนต์ หากต้องการค้นหารหัสพาร์ทเนอร์จากพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม ให้ทำตามขั้นตอนด้านล่าง
- เปิดพอร์ทัล คุณอาจต้องลงชื่อเข้าใช้
- คลิก บัญชีบริการ
- คัดลอกหมายเลขรหัสพาร์ทเนอร์จากบรรทัดรหัสตัวแทนจำหน่ายของคุณ
ขั้นตอนที่ 5: เรียกใช้ตัวอย่าง
ใช้ความช่วยเหลือของระบบปฏิบัติการเพื่อเรียกใช้สคริปต์ในไฟล์ ในคอมพิวเตอร์ที่ใช้ UNIX และ Mac ให้เรียกใช้คำสั่งด้านล่างในเทอร์มินัล
gradle -q run
การแก้ปัญหา
บอกเราว่าเกิดข้อผิดพลาดใดกับการเริ่มต้นอย่างรวดเร็ว และเราจะดำเนินการเพื่อ แก้ไข หากต้องการดูวิธีที่การตั้งค่าอุปกรณ์พร้อมใช้ใช้บัญชีบริการเพื่อให้สิทธิ์การเรียก API โปรดอ่านการให้สิทธิ์