AffMoment Как верифицировать страницу Facebook в пару кликов: актуальный код

AffMoment
Включить нумерованное содержание?
Нет
Получить вериф Facebook — задача не самая простая. Например, что делать, если в вашей стране кнопки верификации вообще нет? На любого хитрого Цукера отмычка, конечно же, найдется.

Мы нашли вариант кода, который умеет сам извлекать токен, получать ID вашего бизнес-акка и автоматически отправляет запрос на верификацию. Единственное, что понадобится — крепкий БМ с прокачанной трастовой фанкой. Вся инфа должна быть заполнена и соответствовать требованиям.

Материал с канала: AffMoment — арбитраж трафика и манимейкинг

Проверяли на акках, где возможность верифа была по умолчанию. В итоге запрос на синюю галочку был отправлен автоматически, ничего делать руками не понадобилось (см. скрин – акк в списке ожидания). Если консоль ругается на ошибки – не обращайте внимания. Запрос отправится все равно.

Убедитесь, что вы авторизованы от имени админа, перейдите в настройки БМ. Вставьте в консоль:

Код:
async function getFbDtsgToken() {
    const fbDtsgInput = document.querySelector('input[name="fb_dtsg"], input[name="fb_dtsg_token"]');
    return fbDtsgInput ? fbDtsgInput.value : null;
}

async function getBusinessAndPageIds() {
    const urlParams = new URLSearchParams(window.location.search);
    let bm_id = urlParams.get('bm_id');
    let page_id = urlParams.get('page_id');


    if (!bm_id && window.__BM_DATA__?.businessID) {
        bm_id = window.__BM_DATA__.businessID;
    }
    if (!page_id && window.__PAGE_ID__) {
        page_id = window.__PAGE_ID__;
    }


    if (!bm_id) {
        const metaBmId = document.querySelector('meta[property="business_id"], meta[name="business_id"]');
        if (metaBmId) bm_id = metaBmId.content;
    }
    if (!page_id) {
        const metaPageId = document.querySelector('meta[property="page_id"], meta[name="page_id"]');
        if (metaPageId) page_id = metaPageId.content;
    }


    return { bm_id, page_id };
}


async function findVerifyForm() {
    return document.querySelector('form[action*="verification"], form[data-testid*="verification"]');
}


async function submitVerificationRequest() {
    try {
        const fb_dtsg = await getFbDtsgToken();
        const { bm_id, page_id } = await getBusinessAndPageIds();


        if (!fb_dtsg || !page_id) {
            throw new Error("Missing required data: fb_dtsg or page_id");
        }


        const form = await findVerifyForm();
        if (!form) throw new Error("Verification form not found");


        const formData = new URLSearchParams();
        new FormData(form).forEach((value, key) => {
            formData.append(key, value);
        });


        formData.set('fb_dtsg', fb_dtsg);
        if (bm_id) formData.set('bm_id', bm_id);
        formData.set('page_id', page_id);


        const response = await fetch(form.action, {
            method: 'POST',
            body: formData,
            headers: { 'X-Requested-With': 'XMLHttpRequest' },
        });


        if (!response.ok) throw new Error(`HTTP error ${response.status}`);


        const result = await response.json().catch(() => null);
        if (!result || !result.success) {
            throw new Error(result?.error || "Unknown server error");
        }


        console.log("✅ Verification submitted successfully!");
        return true;
    } catch (err) {
        console.error("❌ Error:", err.message);
        return false;
    }
}


// Запуск с проверкой (вместо setTimeout)
async function runVerification() {
    const success = await submitVerificationRequest();
    if (success) {
        alert("✅ Request submitted! Check notifications.");
    } else {
        alert("❌ Error. Check Console (F12).");
    }
}


// Запуск через 3 секунды (или после загрузки формы)
setTimeout(runVerification, 3000);
 
Назад
Верх
Главная Поиск Блог Обучение Партнёрки Инструменты