发布到facebook api的报价中的参数无效

时间:2016-09-17 17:10:40

标签: php facebook laravel facebook-graph-api curl

我有问题通过facebook api向页面(我是管理员)发布要约。当我将Feed发布到此页面时,它是有效的,但不是针对优惠。这总是返回我的FacebookSDKException消息:无效的参数。我使用PHP(Laravel框架),但我认为它与我使用的语言无关。我使用这段代码:

try {
        $response = $fb->post('/'  . $page_id . '/offers' , $offerData, (string) $request->access_token
                );
    } catch (\Facebook\Exceptions\FacebookSDKException $e) {
        return response()->json(['error'=>$e->getMessage(),
            ], 200);
    }

我的" $ request-> access_token"是页面访问令牌。在我的" $ offerData"我有这个领域:

$offerData =[
        'claim_limit'=>8,
        'expiration_time'=>\Carbon\Carbon::now()->addDays(10)->toDateTimeString(),
        'message'=>"bbb",
        'title'=>"ascvc",
        'coupon_required'=>false,
        'image_url'=>'...',
        'published'=>true,
        'reminder_time'=>\Carbon\Carbon::now()->addDays(5)->toDateTimeString(),
       // 'scheduled_publish_time'=>5
    ];

我也尝试通过curl(而不是第一个代码)执行此操作,并通过curl返回类似的错误消息。

"{"error":{"message":"Invalid parameter","type":"OAuthException","code":100,"error_subcode":1528104,"is_transient":false,"error_user_title":"Check Your Admin Permission Level","error_user_msg":"Only some admins of your Page are able to create and edit offers. Talk to the person responsible for your Page about your admin permission level.","fbtrace_id":"..."}}"

看起来权限有问题,但在登录facebook时我设置了这个权限:

['manage_pages', 'pages_show_list', 'email',
        'user_hometown', 'publish_actions', 'user_photos', 'publish_pages']

我不知道问题出在哪里。我必须告诉你,同一页面上的Feed工作正常,但不是优惠。你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

查看较新的/ nativeoffers端点;通过这个应该是一条更清洁的道路。

https://developers.facebook.com/ads/blog/post/2016/08/30/offer-ads-apis/