การเรียกกลับคำขอลบข้อมูล

แอพที่เข้าถึงข้อมูลผู้ใช้ต้องมีวิธีให้ผู้ใช้สามารถส่งคำขอให้ลบข้อมูลของตนได้ โดยแอพของคุณสามารถดำเนินการตามข้อกำหนดได้โดยใช้วิธีใดวิธีหนึ่งดังต่อไปนี้:

  • นำการเรียกกลับคำขอลบข้อมูลไปใช้
  • ระบุ URL พร้อมด้วยคำแนะนำวิธีการลบข้อมูลที่ชัดเจนให้แก่ผู้ใช้แอพ โดยอาศัยเว็บไซต์หรือเครื่องมือของบุคคลที่สาม ซึ่งเว็บไซต์ของบุคคลที่สามนั้นอาจเป็นส่วนที่เกี่ยวข้องในนโยบายความเป็นส่วนตัวของแอพพลิเคชั่น

การเรียกกลับการลบข้อมูลจะถูกเรียกเมื่อใดก็ตามที่ผู้ใช้แอพลบแอพของคุณหรือลบสิทธิ์การเข้าถึงข้อมูลที่แชร์กับแอพของคุณ เช่น อีเมล ในการตั้งค่าบัญชี Facebook

การดำเนินการนี้จะสร้าง POST พร้อมคำขอที่ลงชื่อส่งไปยังแอพของคุณ คำขอที่ลงชื่อจะประกอบด้วย ID ในแอพที่ระบุถึงผู้ใช้ที่ส่งคำขอนี้ สำหรับตัวอย่างวิธีแยกวิเคราะห์คำขอและโครงสร้างของคำขอที่แยกวิเคราะห์ โปรดดูส่วนต่อไปนี้

ในการตอบสนองต่อคำขอของผู้ใช้ คุณควรตอบรับว่าได้รับคำขอการลบข้อมูลของผู้ใช้ผ่านเครื่องมือทางเทคนิคที่เรามอบ แล้วมอบลิงก์พร้อมหมายเลขการยืนยัน ลิงก์และหมายเลขการยืนยันจะต้องมอบการเข้าถึงให้แก่ผู้ใช้ไปยังคำอธิบายสถานะคำขอของพวกเขาที่อ่านได้โดยมนุษย์ ซึ่งรวมถึงเหตุผลที่ถูกต้องตามกฎหมายสำหรับการปฏิเสธการลบใดๆ (ความถูกต้องตามกฎหมายจะแตกต่างกันไปตามเขตอำนาจศาลและการตีความนโยบายของเราเป็นรายกรณีตามความเกี่ยวข้องกับเหตุผลที่ระบุ)

การนำการเรียกกลับไปใช้

หากต้องการแยกวิเคราะห์และตอบกลับคำขอ คุณควรนำการเรียกกลับ "คำขอลบข้อมูล" ไปใช้ การเรียกกลับของคุณจะต้องใช้โปรโตคอล HTTPS ที่ปลอดภัยและต้องลิสต์อยู่ในช่อง URL คำขอลบข้อมูลในการตั้งค่าในแดชบอร์ดของแอพ

การเรียกกลับคำขอลบข้อมูลที่คุณนำไปใช้จะต้องดำเนินการดังต่อไปนี้:

  • ริเริ่มการลบข้อมูลใดๆ ที่แอพของคุณได้จาก Facebook ซึ่งเกี่ยวกับผู้ใช้รายดังกล่าว
  • ส่งกลับการตอบสนอง JSON ที่ประกอบด้วย URL ที่ผู้ใช้สามารถตรวจสอบสถานะคำขอการลบและรหัสยืนยันที่เป็นตัวอักษรและตัวเลข โดยที่การตอบสนอง JSON จะมีรูปแบบดังต่อไปนี้:
    { url: '<url>', confirmation_code: '<code>' }

ความล้มเหลวในการปฏิบัติตามข้อกำหนดเหล่านี้อาจส่งผลให้การเรียกกลับของคุณถูกลบหรือแอพของคุณถูกปิดใช้งาน

คุณสามารถนำการเรียกกลับนี้ไปใช้ในภาษาใดก็ได้ แต่โค้ดต่อไปนี้คือตัวอย่างของการเรียกกลับในภาษา PHP

<?php
header('Content-Type: application/json');

$signed_request = $_POST['signed_request'];
$data = parse_signed_request($signed_request);
$user_id = $data['user_id'];

// Start data deletion

$status_url = 'https://www.<your_website>.com/deletion?id=abc123'; // URL to track the deletion
$confirmation_code = 'abc123'; // unique code for the deletion request

$data = array(
  'url' => $status_url,
  'confirmation_code' => $confirmation_code
);
echo json_encode($data);

function parse_signed_request($signed_request) {
  list($encoded_sig, $payload) = explode('.', $signed_request, 2);

  $secret = "appsecret"; // Use your app secret here

  // decode the data
  $sig = base64_url_decode($encoded_sig);
  $data = json_decode(base64_url_decode($payload), true);

  // confirm the signature
  $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  if ($sig !== $expected_sig) {
    error_log('Bad Signed JSON signature!');
    return null;
  }

  return $data;
}

function base64_url_decode($input) {
  return base64_decode(strtr($input, '-_', '+/'));
}
?>

การดำเนินการนี้จะสร้างอ็อบเจ็กต์ JSON ลักษณะเช่นนี้ โดยที่ user_id คือช่องที่สัมพันธ์กับการเรียกกลับของคุณ

{
   "algorithm": "HMAC-SHA256",
   "expires": 1291840400,
   "issued_at": 1291836800,
   "user_id": "218471"
}

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับคำขอที่ลงชื่อได้ที่การใช้คำขอที่ลงชื่อในหัวข้อการเข้าสู่ระบบเกมบน Facebook

การทดสอบการเรียกกลับของคุณ

หากต้องการทดสอบการเรียกกลับของคุณ ให้ทำดังนี้

  1. เข้าสู่ระบบแอพของคุณด้วยการเข้าสู่ระบบด้วย Facebook
  2. ไปยังแท็บการตั้งค่าแอพและเว็บไซต์ในโปรไฟล์ Facebook ของคุณ: https://www.facebook.com/settings?tab=applications
  3. ลบแอพของคุณออก
  4. คลิกลิงก์ "ดูแอพและเว็บไซต์ที่ถูกลบออก"
  5. ในป๊อปอัพ ให้คลิกปุ่ม "ดู" ทางด้านขวาของแอพพลิเคชั่น
  6. ในหน้าต่างที่ปรากฏขึ้น ให้คลิก "ส่งคำขอ" เพื่อทริกเกอร์การเรียกกลับ