【问题标题】:Pass in date params to Facebook batch request将日期参数传递给 Facebook 批处理请求
【发布时间】:2016-02-19 16:25:45
【问题描述】:

我想将日期参数传入 PHP SDK 批量请求方法。

是否可以传入日期参数​​,例如:

$params = array(
  'time_range' => array(
    'since' => (new \DateTime("-1 week"))->format('Y-m-d'),
    'until' => (new \DateTime())->format('Y-m-d'),
  ),
);

我的批处理请求本质上是:

foreach( $campaign_ids as $campaign_id ) {  

    $batch[] = $fb->request('GET/', env("FB_APP_VERSION") . '/' . $campaign_id . '/insights?fields=impressions,unique_clicks,reach');    

}

    try {
      $responses = $fb->sendBatchRequest($batch);
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
      // When Graph returns an error
      echo 'Graph returned an error: ' . $e->getMessage();
      exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
      // When validation fails or other local issues
      echo 'Facebook SDK returned an error: ' . $e->getMessage();
      exit;
    }

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk facebook-batch-request


    【解决方案1】:

    根据

    我假设您可以像这样为每个请求添加一个额外的参数:

    格式:time_range={'since':'2015-01-01','until':'2015-01-20'}

    在 PHP 中,这意味着您必须将 json_encode $params 数组添加到每个请求中。

    $time_range = array(
        'since' => (new \DateTime("-1 week"))->format('Y-m-d'),
        'until' => (new \DateTime())->format('Y-m-d'),
    )
    
    $fb->request('GET/', env("FB_APP_VERSION") . '/' . $campaign_id . '/insights?fields=impressions,unique_clicks,reach&time_range=' . json_encode($time_range));
    

    【讨论】:

      【解决方案2】:

      阅读源代码后,我发现您可以将日期通过参数传递:(它在传递给请求处理程序时得到 url_encoded)

      foreach( $campaigns as $campaign ) {  
      
              $params = array(
                'time_range' => array(
                  'since' => (new \DateTime($campaign->data_date . ' -1 day'))->format('Y-m-d'),
                  'until' => (new \DateTime($campaign->data_date))->format('Y-m-d')
                ),
              );
      
              $batch[] = $fb->request('GET', '/' . $campaign->ad_campaign_id . '/insights?fields=impressions,unique_clicks,reach', $params);
          }
      

      【讨论】:

        猜你喜欢
        • 2019-01-13
        • 2016-07-03
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 2017-10-25
        • 2019-01-04
        相关资源
        最近更新 更多