หากต้องการใช้ Merchant API คุณต้องลิงก์โปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google กับบัญชี Merchant Center หลักผ่านการลงทะเบียนเป็นนักพัฒนาแอป ตลอดวงจรการผสานรวม คุณอาจต้องเปลี่ยนรหัสโปรเจ็กต์ Google Cloud ที่เชื่อมโยงกับบัญชี Merchant Center, จัดการโปรเจ็กต์หลายรายการในสภาพแวดล้อมต่างๆ หรือเปลี่ยนโปรเจ็กต์เมื่อย้ายข้อมูลจาก Content API for Shopping
คู่มือนี้จะอธิบายวิธีดำเนินการต่อไปนี้
- เปลี่ยนหรือหมุนเวียนรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google สำหรับการผสานรวม Merchant API ที่มีอยู่โดยไม่มีการหยุดทำงาน
- ยกเลิกการลงทะเบียนโปรเจ็กต์ Google Cloud จากบัญชี Merchant Center บัญชีหนึ่ง แล้วลงทะเบียนกับบัญชี Merchant Center บัญชีอื่น
- เลือกและใช้กลยุทธ์การเปลี่ยนโปรเจ็กต์ Google Cloud ที่เหมาะสมหากคุณกำลังย้ายข้อมูลจาก Content API for Shopping ไปยัง Merchant API
ข้อกำหนดเบื้องต้น
ก่อนที่จะจัดการหรือเปลี่ยนโปรเจ็กต์ Google Cloud โปรดตรวจสอบว่าคุณมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้นสำหรับการลงทะเบียนเป็นนักพัฒนาแอป ดูรายละเอียดเพิ่มเติมได้ใน ส่วน ข้อกำหนดเบื้องต้น ของคู่มือลงทะเบียนเป็นนักพัฒนาแอป
กฎและข้อจำกัดที่สำคัญ
เมื่อวางแผนที่จะเปลี่ยนแปลงโปรเจ็กต์ Google Cloud โปรดคำนึงถึงกฎต่อไปนี้
- การลงทะเบียนโปรเจ็กต์แบบ 1 ต่อหลายรายการ: บัญชี Merchant Center หลักบัญชีเดียวสามารถมีโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google หลายรายการลงทะเบียนพร้อมกันได้ อย่างไรก็ตาม โปรเจ็กต์ Google Cloud แต่ละรายการจะลงทะเบียนกับบัญชี Merchant Center หลักได้เพียงบัญชีเดียวในแต่ละครั้ง การพยายามลงทะเบียนโปรเจ็กต์ที่ลิงก์กับบัญชี Merchant Center อื่นอยู่แล้วจะแสดงข้อผิดพลาด
ALREADY_EXISTS(409 Conflict) พร้อมเหตุผลDUPLICATE_PROJECT_REGISTRATION - ความเป็นส่วนตัวของเจ้าของโปรเจ็กต์: ด้วยเหตุผลด้านความปลอดภัยและความเป็นส่วนตัว ทีมสนับสนุน Google Shopping และ Merchant API ไม่สามารถเปิดเผยอีเมลของเจ้าของหรือผู้ดูแลระบบโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google หากคุณ สูญเสียสิทธิ์เข้าถึงโปรเจ็กต์ โปรดติดต่อ ทีมสนับสนุนของ Google Cloud
- ส่วนขยายการหยุดให้บริการ Content API for Shopping เป็นแบบเฉพาะโปรเจ็กต์: หากคุณได้รับการอนุมัติการเข้าถึง Content API for Shopping แบบขยาย ส่วนขยายดังกล่าวจะมีผลกับรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่เฉพาะเจาะจงซึ่งส่งในคำขอเท่านั้น ส่วนขยายจะไม่โอนไปยังโปรเจ็กต์ Google Cloud ใหม่โดยอัตโนมัติ
เปลี่ยนรหัสโปรเจ็กต์ Google Cloud สำหรับบัญชี Merchant API
หากคุณใช้ Merchant API อยู่แล้วและต้องการเปลี่ยนการผสานรวมเป็นโปรเจ็กต์ Google Cloud ใหม่ เช่น เนื่องจากการปรับโครงสร้างองค์กร นโยบายการหมุนเวียนข้อมูลเข้าสู่ระบบ หรือการสูญเสียสิทธิ์เข้าถึงระดับผู้ดูแลระบบโปรเจ็กต์เก่า คุณสามารถเปลี่ยนโปรเจ็กต์ได้โดยไม่มีการหยุดทำงาน เนื่องจากบัญชี Merchant Center รองรับโปรเจ็กต์ Google Cloud ที่ลงทะเบียนไว้หลายรายการพร้อมกัน คุณจึงลงทะเบียนโปรเจ็กต์ใหม่ก่อนที่จะเลิกใช้โปรเจ็กต์เก่าได้
ขั้นตอนที่ 1: สร้างและกำหนดค่าโปรเจ็กต์ Google Cloud ใหม่
- สร้างโปรเจ็กต์ใหม่ใน คอนโซล Google Cloud ดูวิธีการโดยละเอียดได้ที่หัวข้อ สร้างโปรเจ็กต์ Google Cloud
- เปิดใช้ Merchant API (
merchantapi.googleapis.com) ในโปรเจ็กต์ใหม่ ดู ส่วนเปิดใช้ Merchant API จาก หัวข้อสร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google - สร้างข้อมูลเข้าสู่ระบบสำหรับการตรวจสอบสิทธิ์ (บัญชีบริการหรือรหัสไคลเอ็นต์ OAuth 2.0) ในโปรเจ็กต์ Google Cloud ใหม่
- เพิ่มอีเมลสำหรับการตรวจสอบสิทธิ์ (เช่น อีเมลบัญชีบริการใหม่) เป็นผู้ใช้ที่มีบทบาท
ADMINในบัญชี Merchant Center หลัก
ขั้นตอนที่ 2: ลงทะเบียนโปรเจ็กต์ Google Cloud ใหม่
ตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบจากโปรเจ็กต์ Google Cloud ใหม่
แล้วเรียกใช้
accounts.developerRegistration.registerGcp
เมธอดเพื่อลิงก์โปรเจ็กต์ใหม่กับบัญชี Merchant Center หลัก ดูวิธีการโดยละเอียดได้ใน
ส่วน
เรียกใช้การลงทะเบียน
จากหัวข้อ
ลงทะเบียนเป็นนักพัฒนาแอป
ขั้นตอนที่ 3: ยืนยันโปรเจ็กต์ Google Cloud ที่ลงทะเบียนไว้
หากต้องการยืนยันว่าทั้งโปรเจ็กต์ Google Cloud ที่มีอยู่และโปรเจ็กต์ใหม่ลิงก์กับบัญชี Merchant Center แล้ว ให้เรียกใช้เมธอด
accounts.developerRegistration.getDeveloperRegistration
GET https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration
Authorization: Bearer ACCESS_TOKEN
แทนที่ค่าต่อไปนี้
ACCOUNT_ID: รหัส Merchant CenterACCESS_TOKEN: โทเค็นการให้สิทธิ์เพื่อเรียก API
การตอบกลับจะแสดงทรัพยากร
DeveloperRegistration
พร้อมหมายเลขโปรเจ็กต์ Google Cloud ที่เป็นตัวเลขของโปรเจ็กต์ที่ลิงก์ทั้งหมดใน
โปรเจ็กต์ในช่อง gcpIds ดังนี้
{
"name": "accounts/ACCOUNT_ID/developerRegistration",
"gcpIds": [
"123456789012",
"987654321098"
]
}
นอกจากนี้ คุณยังยืนยันได้ว่าโปรเจ็กต์ Google Cloud ที่เรียกใช้ลงทะเบียนกับบัญชี Merchant Center บัญชีใดโดยเรียกใช้เมธอด
accounts.developerRegistration.getAccountForGcpRegistration
GET https://merchantapi.googleapis.com/accounts/v1/accounts:getAccountForGcpRegistration
Authorization: Bearer ACCESS_TOKEN
แทนที่ค่าต่อไปนี้
ACCESS_TOKEN: โทเค็นการให้สิทธิ์ที่สร้างขึ้นโดยใช้ข้อมูลเข้าสู่ระบบจากโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่คุณต้องการตรวจสอบ
ขั้นตอนที่ 4: เปลี่ยนเส้นทางการรับส่งข้อมูลและยกเลิกการลงทะเบียนโปรเจ็กต์ Google Cloud เก่า
- อัปเดตการกำหนดค่าแอปพลิเคชันให้ใช้ข้อมูลเข้าสู่ระบบจากโปรเจ็กต์ Google Cloud ใหม่ เนื่องจากโปรเจ็กต์ทั้ง 2 รายการลงทะเบียนไว้ เวิร์กโหลดจึงเปลี่ยนไปโดยไม่มีการหยุดชะงัก
- เมื่อการรับส่งข้อมูลทั้งหมดใช้โปรเจ็กต์ใหม่แล้ว คุณสามารถนำลิงก์โปรเจ็กต์เก่า
ออกได้โดยเลือกตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบโปรเจ็กต์ Google Cloud
เก่าแล้วเรียกใช้เมธอด
accounts.developerRegistration.unregisterGcp
POST https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp
Content-Type: application/json
Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN
แทนที่ค่าต่อไปนี้
ACCOUNT_ID: รหัส Merchant CenterOLD_PROJECT_ACCESS_TOKEN: โทเค็นการให้สิทธิ์จากโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google เก่าเพื่อการเรียก API
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationName;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceClient;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceSettings;
import com.google.shopping.merchant.accounts.v1.UnregisterGcpRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to unregister the GCP project currently used to call the Merchant API
* for a specific account.
*/
public class UnregisterGcpSample {
public static void unregisterGcp(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
DeveloperRegistrationServiceSettings developerRegistrationServiceSettings =
DeveloperRegistrationServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates DeveloperRegistration name to identify the DeveloperRegistration.
// The name has the format: accounts/{account}/developerRegistration
String name =
DeveloperRegistrationName.newBuilder()
.setAccount(config.getAccountId().toString())
.build()
.toString();
// Calls the API and propagates any network failures/errors.
try (DeveloperRegistrationServiceClient developerRegistrationServiceClient =
DeveloperRegistrationServiceClient.create(developerRegistrationServiceSettings)) {
// Creates a request to unregister the GCP project.
UnregisterGcpRequest request = UnregisterGcpRequest.newBuilder().setName(name).build();
System.out.println("Sending UnregisterGcp request for: " + name);
developerRegistrationServiceClient.unregisterGcp(request);
System.out.println("Unregister GCP successful.");
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
unregisterGcp(config);
}
}
cURL
curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN"
กำหนดโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่ลงทะเบียนไว้ใหม่ให้กับบัญชี Merchant Center อื่น
เนื่องจากโปรเจ็กต์ Google Cloud จะลงทะเบียนกับบัญชี Merchant Center หลักได้เพียงบัญชีเดียวในแต่ละครั้ง ให้ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดโปรเจ็กต์ที่มีอยู่อีกครั้งจากบัญชี Merchant Center บัญชีหนึ่ง (OLD_ACCOUNT_ID) ไปยังอีกบัญชีหนึ่ง (NEW_ACCOUNT_ID) ดูหลักเกณฑ์ในการเลือกบัญชี Merchant Center ที่จะลงทะเบียนโปรเจ็กต์ได้ที่ข้อควรพิจารณาที่สำคัญ
- ตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบจากโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud ที่
มีสิทธิ์เข้าถึง
OLD_ACCOUNT_IDแล้วเรียกใช้unregisterGcpในaccounts/OLD_ACCOUNT_ID/developerRegistration - ตรวจสอบว่าข้อมูลประจำตัวที่ตรวจสอบสิทธิ์มีบทบาท
ADMINในNEW_ACCOUNT_IDและNEW_ACCOUNT_IDมีเว็บไซต์ที่ยืนยันแล้ว - เรียกใช้
registerGcpในaccounts/NEW_ACCOUNT_ID/developerRegistrationโดยใช้ข้อมูลเข้าสู่ระบบจาก โปรเจ็กต์ Google Cloud เดียวกัน หากNEW_ACCOUNT_IDยังไม่มีผู้ใช้ที่มีบทบาทAPI_DEVELOPERให้ส่งอีเมลของผู้ใช้ที่ถูกต้องในช่องคำขอdeveloperEmailอีเมลบัญชีบริการที่ลงท้ายด้วย.gserviceaccount.comจะใช้เป็นdeveloperEmailไม่ได้
เปลี่ยนโปรเจ็กต์ Google Cloud เมื่อย้ายข้อมูลจาก Content API for Shopping
เมื่อย้ายข้อมูลจาก Content API for Shopping ไปยัง Merchant API คุณอาจพบข้อจำกัดในการเข้าถึงโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google Cloud เวอร์ชันเดิม เช่น หากคุณกำหนดค่าคีย์ API เดิมผ่านเวิร์กโฟลว์การตรวจสอบสิทธิ์ Merchant Center เวอร์ชันเดิมโดยตรง หรือหากเจ้าของโปรเจ็กต์เดิมออกจากองค์กร
เลือกตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับว่าคุณต้องการเก็บโปรเจ็กต์ที่มีอยู่ไว้หรือใช้โปรเจ็กต์ใหม่สำหรับ Merchant API ขณะที่ยังคงใช้ Content API for Shopping ในโปรเจ็กต์เก่า
เลือกกลยุทธ์โปรเจ็กต์การย้ายข้อมูล
| สถานการณ์ | ต้องมีสิทธิ์เข้าถึงระดับผู้ดูแลระบบโปรเจ็กต์เก่าไหม | API ที่ต้องเปิดใช้ | ต้องมีส่วนขยาย Content API for Shopping ในโปรเจ็กต์ใหม่ไหม |
|---|---|---|---|
| ตัวเลือกที่ 1: เก็บโปรเจ็กต์ที่มีอยู่ไว้ | ใช่ (หรือกู้คืนผ่านทีมสนับสนุนของ Google Cloud) | เปิดใช้ Merchant API ในโปรเจ็กต์ที่มีอยู่ (Content API for Shopping เปิดใช้อยู่แล้ว) | ไม่ (ส่วนขยายที่มีอยู่ในรหัสโปรเจ็กต์เก่าจะยังคงใช้ได้) |
| ตัวเลือกที่ 2: เก็บโปรเจ็กต์เก่าไว้สำหรับ Content API for Shopping และใช้โปรเจ็กต์ใหม่สำหรับ Merchant API | ไม่ | เปิดใช้ Merchant API ในโปรเจ็กต์ใหม่ (เปิดใช้ Content API for Shopping ในโปรเจ็กต์เก่า) | ไม่ (โปรเจ็กต์เก่าจะยังคงมีส่วนขยาย ส่วนโปรเจ็กต์ใหม่จะเรียกใช้เฉพาะ Merchant API) |
ตัวเลือกที่ 1: เก็บโปรเจ็กต์ Google Cloud ที่มีอยู่ไว้
เลือกตัวเลือกนี้หากต้องการใช้โปรเจ็กต์ Google Cloud ที่มีอยู่สำหรับทั้ง Content API for Shopping และ Merchant API
ก่อนเริ่มต้น ให้ยืนยันหรือกู้คืนสิทธิ์เข้าถึง โปรเจ็กต์ที่มีอยู่ ลงชื่อ เข้าใช้ คอนโซล Google Cloud และยืนยันว่าบัญชีของคุณมีบทบาท ใดบทบาทหนึ่ง ต่อไปนี้ในโปรเจ็กต์ ที่มีอยู่
- เจ้าของ (
roles/owner) - ผู้แก้ไข (
roles/editor) - ผู้ดูแลระบบการใช้งานบริการ (
roles/serviceusage.serviceUsageAdmin)
- เปิดใช้ Merchant API: เปิดใช้
merchantapi.googleapis.comใน ไลบรารี Google Cloud API หรือใช้คำสั่งgcloudดูวิธีการทีละขั้นตอนได้ที่หัวข้อ กำหนดค่าการตรวจสอบสิทธิ์ API จาก Merchant Center - ลงทะเบียนโปรเจ็กต์ Google Cloud กับ Merchant Center:
ทำตามขั้นตอนใน
ลงทะเบียนเป็นนักพัฒนาแอป
คู่มือเพื่อให้สิทธิ์คำขอจากโปรเจ็กต์ที่มีอยู่ แล้วเรียกใช้
registerGcpเมธอดเพื่อลิงก์โปรเจ็กต์ Google Cloud ที่มีอยู่กับบัญชี Merchant Center หลัก คีย์บัญชีบริการที่มีอยู่และส่วนขยาย Content API for Shopping ที่ได้รับอนุมัติจะยังคงทำงานได้ตามปกติโดยไม่ต้องเปลี่ยนแปลง
ตัวเลือกที่ 2: ใช้โปรเจ็กต์ Google Cloud เก่าสำหรับ Content API for Shopping และโปรเจ็กต์ใหม่สำหรับ Merchant API
เลือกตัวเลือกนี้หากการผสานรวม Content API for Shopping เวอร์ชันเดิมทำงานอยู่แล้วด้วยข้อมูลเข้าสู่ระบบที่ถูกต้องและส่วนขยายที่ได้รับอนุมัติในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google เก่า และคุณต้องการสร้างการผสานรวม Merchant API ใหม่ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google ที่แยกต่างหากและเฉพาะเจาะจง
- เก็บการผสานรวม Content API for Shopping ไว้ในโปรเจ็กต์เก่า: ปล่อยให้เวิร์กโฟลว์และข้อมูลเข้าสู่ระบบ Content API for Shopping ที่มีอยู่ทำงานในโปรเจ็กต์ Google Cloud เก่า หากคำขอส่วนขยายสำหรับรหัสโปรเจ็กต์เก่าได้รับอนุมัติ การผสานรวม Content API for Shopping ปัจจุบันจะยังคงทำงานต่อไปจนถึงกำหนดเวลาที่ขยายออกไป
- สร้างโปรเจ็กต์ Google Cloud ใหม่สำหรับ Merchant API เท่านั้น: สร้างโปรเจ็กต์ Google Cloud ใหม่ เปิดใช้
merchantapi.googleapis.comและสร้างข้อมูลเข้าสู่ระบบ (บัญชีบริการหรือรหัสไคลเอ็นต์ OAuth 2.0) สำหรับเวิร์กโหลด Merchant API ใหม่ - ลงทะเบียนโปรเจ็กต์ใหม่: ทำตามขั้นตอนใน
ลงทะเบียนเป็นนักพัฒนาแอป เพื่อ
ให้สิทธิ์คำขอจากโปรเจ็กต์ใหม่ แล้วเรียกใช้
registerGcpเมธอดด้วยอีเมลติดต่อของนักพัฒนาแอปที่ถูกต้อง อีเมลบัญชีบริการ (ที่ลงท้ายด้วย.gserviceaccount.com) จะใช้เป็นdeveloperEmailไม่ได้ - ย้ายข้อมูลเวิร์กโหลดทีละน้อย: ค่อยๆ เปลี่ยนการเรียก API จากโปรเจ็กต์ Content API for Shopping เก่าไปยังโปรเจ็กต์ Merchant API ใหม่ทีละน้อย ก่อน วันที่ Content API for Shopping จะหยุดให้บริการตามกำหนด (หรือก่อนที่ส่วนขยายที่ได้รับอนุมัติจะหมดอายุ) แล้วเลิกใช้โปรเจ็กต์เก่าเมื่อ การย้ายข้อมูลเสร็จสมบูรณ์
กรณีพิเศษ: สูญเสียสิทธิ์เข้าถึงโปรเจ็กต์ Google Cloud เก่าก่อนที่จะย้ายข้อมูลเสร็จสมบูรณ์
เนื่องจาก Content API for Shopping เลิกใช้งานแล้ว จึงไม่มีอยู่ในไลบรารี Google Cloud API อีกต่อไปและเปิดใช้ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่สร้างขึ้นใหม่ไม่ได้ ด้วยเหตุนี้ คุณจึงย้ายข้อมูลเวิร์กโหลด Content API for Shopping ที่มีอยู่ไปยังโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google Cloud ใหม่ด้วยตนเองไม่ได้
หากคุณไม่สามารถเรียกใช้ Content API for Shopping จากโปรเจ็กต์เก่าได้อีกต่อไป (เช่น เนื่องจากข้อมูลเข้าสู่ระบบถูกเพิกถอนหรือสิทธิ์เข้าถึงโปรเจ็กต์กู้คืนไม่ได้) ให้ทำดังนี้
- ติดต่อทีมสนับสนุนของ Google Cloud เพื่อกู้คืนสิทธิ์เข้าถึงโปรเจ็กต์ Google Cloud ที่มีอยู่ (ตัวเลือกที่ 1) หรือ
- ทำตาม ตัวเลือกที่ 2 เพื่อสร้างและลงทะเบียน โปรเจ็กต์ Google Cloud ใหม่ แล้วย้ายข้อมูลเวิร์กโฟลว์ที่ได้รับผลกระทบโดยตรง ไปยัง Merchant API หากพบปัญหาที่สำคัญซึ่งขัดขวางการย้ายข้อมูล โปรดติดต่อทีมสนับสนุน Merchant API
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดการลงทะเบียนเป็นนักพัฒนาแอปได้ใน หัวข้อลงทะเบียนเป็นนักพัฒนาแอปและ คำถามที่พบบ่อยเกี่ยวกับการลงทะเบียนเป็นนักพัฒนาแอป
- ตรวจสอบลักษณะการทำงานของข้อมูลเข้าสู่ระบบเวอร์ชันเดิมได้ใน หัวข้อกำหนดค่าการตรวจสอบสิทธิ์ API จาก Merchant Center
- วางแผนการเปิดตัว API ย่อยด้วย หัวข้อเริ่มการย้ายข้อมูล
- ดูรายละเอียดเกี่ยวกับการเข้าถึง Content API for Shopping แบบขยายได้ใน หัวข้อขอส่วนขยายการย้ายข้อมูล