2017-08-11 173 views
0

我写了这个代码信息有关的广告公司:获取信息

public function getStatAd($id_company, $time_range, $fields, $access_token){ 
    $curl = new Curl\Curl(); 
    $graph_url= "https://graph.facebook.com/v2.10/" . $id_company;      
    $postData = "&time_range=" . $time_range            
           . "&fields=" 
           . $fields             
           . "&access_token=" . $access_token;      

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL, $graph_url); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

    $output = curl_exec($ch);                

    curl_close($ch); 

    //var_dump($output); 
} 

而且调用此方法:

getStatAd(
    $_POST['id_company'], 
    "'since':2017-08-10,'until':2017-08-17", // to do dynamic 
    "reach,impressions,clicks,spend", 
    "token" 
    ); 

“的var_dump($输出);” :

{ “错误”:{ “消息”: “无效 参数”, “类型”: “OAuthException”, “代码”:100, “error_data”: { “blame_field_specs”:[[” “account_id”]]}, “error_subcode”:1885316,“is_transient”:false,“error_user_title”:“已禁用 帐户无法创建或编辑广告”,“error_user_msg”:“只有活跃 帐户可以创建或编辑广告“,”fbtrace_id“:”“}}

我在代码中的错误在哪里?请告诉我。谢谢!

+0

使你的访问令牌看起来不像一个代码问题,而只是一个问题与您在那里使用的广告帐户... – CBroe

+0

我改变这一点:$ graph_url =“https://graph.facebook.com/v2.10/insights”并获得新的异常:不支持的发布请求。请阅读图形API文档... – Zunder

+0

是的,如果你只是不加思索地改变东西而发生这种事情......这个请求绝对没有任何意义,因为你需要先指定一个对象,然后才能访问任何见解。 – CBroe

回答

0

与卷曲相同的问题。尝试不同势方法唯一的解决方案至今全无标记错误或坏的请求后,它使用的file_get_contents:

$graph_url_post = "https://graph.facebook.com/".$vPostID."?fields=full_picture,type&access_token=" . $vToken; 

$post_info = json_decode(file_get_contents($graph_url_post), true); 

哪里vToken它就像$app_id . "|" . $app_secret