• Facebook
  • 公布一个利用bug创建大量BM账号的代码

既然已经公布出来,说明代码已失效,仅供参考。

console.log("Copyright @veryfb.com");
const fb_dtsg = require("DTSGInitialData").token;
const uid = require("CurrentUserInitialData").USER_ID;
const access_token = require('WebApiApplication').getAccessToken();
const ver = "v11.0";
const delay = 0;

getBusinesses();

async function getBusinesses() {
  console.log(`Get Businesses...`);
  const json = await getBusinesses2();
  const arr = {};
  arr.data = json;
  action1(0, arr);
}

async function getBusinesses2() {
  const response = await fetch(
    `https://graph.facebook.com/${ver}/me/business_users?limit=9999&access_token=${access_token}`
  );
  const json = await response.json();
  return json;
}

async function action1(index, arr) {
  const total = arr.data.data.length;
  if (index >= total) {
    console.log(`Done`);
    return;
  }
  try {
    const data = arr.data.data[index];
    const businessID = data.business.id;
    console.group(businessID);
    console.log(`${index + 1}/${total}. ID: ${businessID} - Delay ${delay}s`);
    const awaitDelay = await new Promise((r) => setTimeout(r, delay * 1000));
    const awaitAction2 = await action2(businessID);
    if (awaitAction2.data.onboard_business_to_marketing_program === null) {
      console.log(`${index + 1}/${total}. ID: ${businessID} - Error`);
    } else {
      console.log(`${index + 1}/${total}. ID: ${businessID} - Success`);
    }
  } catch (e) {
  } finally {
    console.groupEnd();
    ++index;
    action1(index, arr);
  }
}

async function action2(businessID) {
  const response = await fetch(
    `https://graph.facebook.com/graphql?method=post&access_token=${access_token}&variables={"businessID":"${businessID}","program":"CONVERSION_DATA"}&doc_id=3781416171970251`
  );
  const json = await response.json();
  return json;
}
15 天 后

此代码是否有任何先决条件才能工作?因为在 bm 它只给出错误