Начало работы с Meta Business SDK

В этом документе описано, как установить Meta Business SDK и протестировать установку. Имеются SDK для Java, JavaScript, PHP, Python и Ruby. Если у вас уже установлен API Marketing, вы можете обновить его до Meta Business SDK.

Прежде чем начать

Вам понадобятся:

Java

Для приложений Java можно использовать любую среду разработки, поддерживающую сборки Maven.

Установка SDK

Откройте проект Maven и добавьте в раздел dependency в файле pom.xml следующий код XML:

<!-- https://mvnrepository.com/artifact/com.facebook.business.sdk/facebook-java-business-sdk -->
<dependency>
    <groupId>com.facebook.business.sdk</groupId>
    <artifactId>facebook-java-business-sdk</artifactId> 
    <version>[8.0.3,)</version>
</dependency>

Создание класса Java

В src/main/java создайте класс Java с именем TestFBJavaSDK и добавьте следующий код. Укажите в {access-token}, {appsecret} и {adaccount-id} свои значения.

import com.facebook.ads.sdk.APIContext;
import com.facebook.ads.sdk.APINodeList;
import com.facebook.ads.sdk.AdAccount;
import com.facebook.ads.sdk.Campaign;

public class TestFBJavaSDK
{
    public static final APIContext context = new APIContext(
            "{access-token}",
            "{appsecret}"
    );
    public static void main(String[] args)
    {
        AdAccount account = new AdAccount("act_{{adaccount-id}}", context);
        try {
            APINodeList<Campaign> campaigns = account.getCampaigns().requestAllFields().execute();
            for(Campaign campaign : campaigns) {
                System.out.println(campaign.getFieldName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }}

Тестирование установки

Соберите и запустите свое приложение. Вы увидите результаты в окне консоли. Если появляется сообщение об истечении срока действия маркера, запросите новый маркер доступа к Странице и повторите попытку.

JavaScript (Node.js)

SDK для приложений JavaScript распространяется в формате пакета Node.js.

Откройте командное окно терминала и создайте папку для нового проекта. Создайте, настройте и установите проект, выполнив следующую команду:

npm init

Чтобы обновить настройки конфигурации позже, внесите изменения в файл package.json.

Установка SDK

Установите пакет SDK, выполнив следующую команду:

npm install --save facebook-nodejs-business-sdk

Изменение файла проекта

Откройте файл index.js и добавьте в него следующий код. Укажите в {access-token} и {adaccount-id} свои значения.

const bizSdk = require('facebook-nodejs-business-sdk');

const accessToken = '{access-token}';
const accountId = 'act_{{adaccount-id}}';

const FacebookAdsApi = bizSdk.FacebookAdsApi.init(accessToken);
const AdAccount = bizSdk.AdAccount;
const Campaign = bizSdk.Campaign;

const account = new AdAccount(accountId);
var campaigns;
    
account.read([AdAccount.Fields.name])
  .then((account) =>{
    return account.getCampaigns([Campaign.Fields.name], { limit: 10 }) // fields array and params
  })
  .then((result) =>{
    campaigns = result
    campaigns.forEach((campaign) =>console.log(campaign.name))  
  }).catch(console.error);

Тестирование установки

Протестируйте установку, выполнив следующую команду:

 node index.js

Вы увидите результаты в окне терминала. Если появляется сообщение об истечении срока действия маркера, запросите новый маркер доступа к Странице и повторите попытку.

PHP

Чтобы установить SDK для приложений PHP, используйте Composer.

Установка SDK

В папке нового проекта создайте файл composer.json со следующим контентом. Укажите в {project-name}, {Your Name} и {your@email.com} свои значения.

{
    "name": "name/{project-name}",
    "type": "project",
    "require": {
        "facebook/php-business-sdk": "^8.0.3"
    },
    "authors": [
        {
            "name": "{Your Name}",
            "email": "{your@email.com}"
        }
    ]
}

Чтобы установить SDK, выполните следующую команду в окне терминала:

composer install

Создание файла проекта

Создайте файл src/test.php со следующим контентом. Укажите в {app-id}, {access-token}, {appsecret} и {adaccount-id} свои значения.

<?php
require_once __DIR__ . '/../vendor/autoload.php';
use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Campaign;
use FacebookAds\Object\Fields\CampaignFields;

$app_id = "{app-id}";
$app_secret = "{appsecret}";
$access_token = "{access-token}";
$account_id = "act_{{adaccount-id}}";

Api::init($app_id, $app_secret, $access_token);

$account = new AdAccount($account_id);
$cursor = $account->getCampaigns();

// Loop over objects
foreach ($cursor as $campaign) {
  echo $campaign->{CampaignFields::NAME}.PHP_EOL;
}

Тестирование установки

Протестируйте установку, выполнив следующую команду:

php src/test.php

Вы увидите результаты в окне терминала. Если появляется сообщение об истечении срока действия маркера, запросите новый маркер доступа к Странице и повторите попытку.

Python

SDK для приложений Python предоставляется в формате модуля pypi, поэтому у вас должен быть установлен pip. В зависимости от системы может потребоваться настройка virtualenv, pyenv или conda.

Установка SDK

Установите пакет SDK, выполнив следующую команду.

pip install facebook_business

Создание файла проекта

Создайте файл test.py со следующим контентом. Укажите в {app-id}, {access-token}, {appsecret} и {adaccount-id} свои значения.

from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount

my_app_id = '{app-id}'
my_app_secret = '{appsecret}'
my_access_token = '{access-token}'
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
my_account = AdAccount('act_{{adaccount-id}}')
campaigns = my_account.get_campaigns()
print(campaigns)

Тестирование установки

Протестируйте установку, выполнив следующую команду:

python test.py

Вы увидите результаты в окне терминала. Если появляется сообщение об истечении срока действия маркера, запросите новый маркер доступа к Странице и повторите попытку.

Ruby

SDK для приложений Ruby распространяется в формате пакета RubyGem.

Установка SDK

Чтобы установить Meta Business SDK для Ruby, в окне терминала в папке проекта выполните следующую команду. В зависимости от среды может потребоваться настройка rbenv или rvm. Можно также использовать sudo перед командой.

gem install facebookbusiness

Создание файла проекта

Создайте файл test.rb со следующим контентом. Укажите в {access-token}, {appsecret} и {adaccount-id} свои значения.

require 'facebookbusiness'
FacebookAds.configure do |config|
  config.access_token = '{access-token}'
  config.app_secret = '{appsecret}'
end

ad_account = FacebookAds::AdAccount.get('act_{{adaccount-id}}', 'name')
ad_account.campaigns(fields: 'name').each do |campaign|
  puts campaign.name
end

Тестирование установки

Протестируйте установку, выполнив следующую команду:

ruby test.rb

Вы увидите результаты в окне терминала. Если появляется сообщение об истечении срока действия маркера, запросите новый маркер доступа к Странице и повторите попытку.

Для пользователей API Marketing

Чтобы выполнить обновление до Meta Business SDK из API Marketing, выполните следующие действия.

Java

В файле pom.xml:

  • в groupId замените com.facebook.ads.sdk на com.facebook.business.sdk;
  • в artifactId замените facebook-java-ads-sdk на facebook-java-business-sdk;
  • замените version на v8.0.3.

Node.js

В файле package.json:

  • замените facebook-nodejs-ads-sdk на facebook-nodejs-business-sdk:v8.0.2;
  • замените все ссылки на имя пакета facebook-nodejs-ads-sdk, такие как require('facebook-nodejs-ads-sdk'), на facebook-nodejs-business-sdk;
  • запустите npm install.

PHP

В файле composer.json:

  • замените facebook-ads-sdk на facebook-business-sdk с версией 8.0.3.

Python

  • запустите pip install facebook_business;
  • замените все ссылки на пространство имен facebookads на facebook_business;
  • если у вас есть файл .egg-info, замените facebookads-*.egg-info новым установленным файлом egg-info, например facebook_business-*.egg-info.

Ruby

  • запустите gem install facebookbusiness;
  • замените ссылки require('facebook_ads') на require('facebookbusiness').

Дополнительная информация

Исходный код для Meta Business SDK см. на Github.