Как указать версию API в запросе API пакета Batch?

Запрос API пакета Batch позволяет вызывающему указать несколько конечных точек API в одном HTTP POST.

Сообщение отправляется на базовый URL: https://graph.facebook.com.

Тело сообщения содержит хэш JSON с относительными URL-адресами для вызова в поле "relative_url", например. "Мне/корм".

Как указать версию API в этом вызове?

Например, чтобы попасть в версию API 2.2, отправьте сообщение в https://graph.facebook.com/v2.2/ или укажите "v2.2/me/feed" в relative_url?

По состоянию на 26 февраля 2015 года документация API Facebook не ясна по этому вопросу: https://developers.facebook.com/docs/graph-api/making-multiple-requests

Ответ 1

Вам, вероятно, придется указать относительный URL. Здесь пример из пакета документации по пакету маркетинга

curl -F 'access_token=______' 
  -F '[email protected]/test1.jpg'  
  -F 'batch=[
             {
              "method": "POST",
              "name": "create_creative",
              "relative_url": "<API_VERSION>/act_187687683/adcreatives",
              "attached_files": "test1",
              "body": "title=Test title&body=Test body&link_url=http://www.test12345.com&image_file=test1.jpg"
             },
             {
              "method": "POST",
              "relative_url": "<API_VERSION>/act_187687683/adgroups",
              "body": "campaign_id=6004163746239&redownload=1&bid_type=CPC&bid_info={\"clicks\":150}&creative={\"creative_id\":\"{result=create_creative:$.id}\"}&targeting={\"countries\":[\"US\"]}&name=test1"
             },
             {
              "method": "POST",
              "relative_url": "<API_VERSION>/act_187687683/adgroups",
              "body": "campaign_id=6004163746239&redownload=1&bid_type=CPC&bid_info={\"clicks\":150}&creative={\"creative_id\":\"{result=create_creative:$.id}\"}&targeting={\"countries\":[\"GB\"]}&name=test2"
             },
             {
              "method": "POST",
              "relative_url": "<API_VERSION>/act_187687683/adgroups",
              "body": "campaign_id=6004163746239&redownload=1&bid_type=CPC&bid_info={\"clicks\":150}&creative={\"creative_id\":\"{result=create_creative:$.id}\"}&targeting={\"countries\":[\"IE\"]}&name=test3"
             }
            ]' https://graph.facebook.com/

Я предполагаю, что это является общим для других запросов.

Различные источники для чтения

1.) здесь

Предварительно установите идентификатор версии в начало пути запроса. Для Например, здесь вызов v2.2:

GET graph.facebook.com
  /v2.2/me

Это работает для всех версий в этом общем виде:

GET graph.facebook.com
  /vX.Y/{request-path}

2.) Вводя его в URL, похоже, для Диалогов и социальных плагинов

Диалоги

Пути версий не просто верны для конечных точек API, они также верны для диалогов и социальных плагинов. Например, если вы хотите сгенерировать диалоговое окно входа в Facebook для веб-приложения, вы можете добавить версию номер к конечной точке, которая генерирует диалог:

https://www.facebook.com/v2.0/dialog/oauth?
  client_id={app-id}
  &redirect_uri={redirect-uri}

Социальные плагины

Если вы используете версии наших социальных плагинов HTML5 или xfbml, рендеринг версии будет определяться версией, указанной, когда вы инициализируете JavaScript SDK.

Если вы вставляете версию iframe или простой ссылки одного из наших плагинов, вы добавили номер версии в исходный путь плагин:

<iframe
 src="//www.facebook.com/v2.0/plugins/like.php?href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&amp;width&amp;layout=standard&amp;action=like&amp;show_faces=true&amp;share=true&amp;height=80&amp;appId=634262946633418" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:80px;" allowTransparency="true"> </iframe>