2014-12-20 2 views
0

다음과 같은 코드를 작성하여 단일 캠페인 통계를 검색합니다.Facebook 광고 api에서 여러 캠페인의 통계를 얻는 방법

$fields = array(
     'start_time','actions','spent','clicks','impressions','end_time', 
    ); 
$params = array(); 
$campaign = new AdCampaign(123456); 
$stats = $campaign->getStats($fields, $params); 

여기 통계에 액세스 할 수 있습니다. 그러나이 기능을 사용 루프 그때

콜링 같은 문제를 받았을 때 : $campaign = new AdCampaign($campaign_id); 오류 : "An access token is required to request this resource"

하지만이 여러 캠페인에 액세스 할 수 있습니다 그래프 API를 사용하여 한 번에

https://graph.facebook.com/stats?ids=123,456,789&fields=start_time,actions,spent,clicks,impressions,end_time&access_token=에서 통계 ...

광고 API를 사용해야합니다. 제발 해결해주세요 ..

+0

루프의 전체 코드 (액세스 토큰 빼기)를 게시 할 수 있습니까? 액세스 토큰을 검색하기 전에 루프가 호출되고있는 것 같습니다. –

답변

0

나는 이것이 가능한 순간 SDK의 누락 된 기능이라고 생각합니다. 객체와 관련된 통계에만 액세스하십시오.

그러나 루프에서 통계를 호출해도 문제가되지 않아야합니다. API 클래스를 올바르게 인스턴스화했다고 가정합니다.

use FacebookAds\Api; 
use FacebookAds\Object\AdCampaign; 

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

$campaign_ids = array(...); 

$fields = array(
    'start_time', 
    'actions', 
    'spent', 
    'clicks', 
    'impressions', 
    'end_time', 
);  
$params = array(); 
$stats = array(); 
foreach($campaign_ids as $id) { 
    $campaign = new AdCampaign($id); 
    $stats[$id] = $campaign->getStats($fields, $params); 
} 

당신은 또한 단지 AdAccount에 getAdCampaignStats를 사용하여 모든 캠페인에 대한 모든 통계를 얻을 수 있습니다.

관련 문제