如何在 Facebook Business SDK 中获取响应 Headers

How to get Response Headers in Facebook Business SDK

对于一个项目,我需要检查 X-App-Usage 响应 Headers 以限制我们正在执行的请求数量,而不 运行 进入速率限制。

如何获得响应 headers?我找不到这方面的任何文档,也没有简单的解决方案可以深入研究源代码。 https://github.com/facebook/facebook-php-business-sdk

<?php

use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
use FacebookAds\Object\Post;
use FacebookAds\Object\Fields\CommentFields;

Api::init($app_id, $app_secret, $access_token, false);
$api = Api::instance();
$api->setLogger(new CurlLogger());

$post = new Post($postId);

$commentsRequest = $post->getComments(
    array(
        CommentFields::ID,
        CommentFields::FROM,
        CommentFields::MESSAGE
    ),
    array(
        'limit' => 500
    ),
    true
);        // returns FacebookAds\ApiRequest

$cursor = $commentsRequest->execute(); // returns FacebookAds\Cursor
$cursor->setUseImplicitFetch(true);

foreach ($cursor as $comment) {
    // returns an instance of FacebookAds\Object\Comment
    // doing some stuff with the comments
}

我刚刚找到了问题的解决方案。 我可以通过 $cursor->getLastResponse()->getHeaders()).

Cursor object 获得响应和 headers