Upload Video to Facebook Page with call to action in php
<p>I am trying to upload video to facebook page as page admin with the call to action:</p>

<pre><code>// Post Data
$action_call_array = array('type' =&gt; 'LEARN_MORE', 'value' =&gt; array('link' =&gt; 'http://www.google.com'));
$data = [
  'title'        =&gt; 'Demo Title',
  'description'  =&gt; 'Demo Description

  http://www.google.com
  http://hk.yahoo.com',
  'source'       =&gt; new CURLFile('video/video_1mb.mp4', 'video/mp4'),
  'call_to_action' =&gt; $action_call_array,
  'access_token' =&gt; FACEBOOK_PAGE_TOKEN, // MUST BE INCLUDED !!!
];

// Post Url
$post_url = 'https://graph-video.facebook.com/'.FACEBOOK_PAGE_ID.'/videos';

// CURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

// result
$j = json_decode($return);
$page_post_id = $j-&gt;id;
var_dump($return);
</code></pre>

<p>Without the call to action, it works. But after adding the call to action, it returns me the following error:</p>

<pre><code>string(196) "{"error":{"type":"Exception","message":"No Call To Action Type was parseable. Please refer to the call to action api documentation","code":1373054,"is_transient":false,"fbtrace_id":"H9GksxYBdQx"}}"
</code></pre>

<p>Looks like the way I add the call to action is not correct. But I don't really know how to fix it.</p>