1

运行以下代码后,我尝试从我的应用程序向多个应用程序用户发送批处理通知,但响应中出现错误:

"{"error":{"message":"(#100) Must specify a non-empty template `param","type":"OAuthException","code":100}}"`

虽然设置了模板参数...

感谢任何关于我做错了什么的帮助..

这是我使用的代码:

$batched_request = array();

foreach ($users as $idx => $user) {

$request = array(
       'method'  => 'POST',
       'relative_url'  => '/' . $user['id'].'/notifications',
       'access_token' => $app_access_token,                                    
       'template' => $template,                                    
       'href' => $href        
      ); 

 $batched_request[] = json_encode($request); 

}

$params = array('batch' => '[' . implode(',',$batched_request) . ']' );
try {

    $response = $facebook->api('/','POST',$params);


} catch(FacebookApiException $e) {
         error_log($e);               
}
4

1 回答 1

1

如果您通过批处理 api 发布,请记住,您应该将模板和 href 参数作为 http 查询字符串包含在“body”键中。

例如:

$apiCalls[] = array(
  "method" => "POST",
  "relative_url" => $user['id'] . "/notifications", 
  "body" => http_build_query(array("href" => $href, "template" => $template, "ref" => "ref_key")),
  "access_token" => $app_access_token
);
于 2013-04-29T14:06:34.440 回答