我创建了一个处于开发模式的应用,但我没有提交它进行审核。我创建了一个网站(在我的特定子域中),我希望在某些用户操作上,在用户的FB提要上发布自定义。
我创建了一个自定义故事,其中包含动词“Grok”和对象“Idea”(虚构以防万一你想知道)。从那以后(好的,2天),我试图调用FaceBook的 php OpenGraph API函数api()
来发布一些内容,但没有成功。
我尝试了许多不同的参数和参数组合(下面列出了基本原理),包括FB自己的代码示例,但无济于事。我也在网上搜索有关该主题的教程和论坛问题,但令我惊讶的是,没有找到太多材料,当然也没有解决我的问题。
那么我如何在PHP中将自定义故事发布到我的FB提要?
注1:我相信我的登录过程正确。
注意2:动作Grok有一个灰色的圆点,上面写着“未批准”,但我得到的错误信息从未提及需要批准
我读过
现在
FB的Grok示例代码
$response = $facebook->api(
'me/myapp:grok',
'POST',
array('idea' => "http://myapp.mydomain.com/idea?i=".$idea_id)
);
// handle the response
错误讯息:Fatal error: Uncaught OAuthException: (#3502) Object at URL http://myapp.mydomain.com/idea?i=1 has og:type of 'website'. The property 'idea' requires an object of og:type 'myapp:idea'. thrown in ...
此时我添加了以下html元标记:
<meta property="og:type" content="myapp:idea" />
<meta property="og:title" content="Test Title" />
<meta property="og:site_name" content="civilizationone" />
<meta property="fb:app_id" content="1234567890" />
<meta property="og:description" content="Test Desc" />
并收到相同的错误消息。所以我试过了:
FB的Idea示例代码
$response = $facebook->api('me/objects/myapp:idea',
'POST',
array('app_id' => 1234567890,
'type' => "idea",
'url' => "http://myapp.mydomain.com.br/idea?i=".$idea_id,
'title' => "test",
'description' => "")
);
// handle the response
错误讯息:Fatal error: Uncaught OAuthException: Cannot specify type in both the path and query parameter. thrown in ...
所以我认为类型是idea
并试图通过动作替换对象:
$response = $facebook->api('me/objects/myapp:grok', // Changed here
'POST',
array('app_id' => 1234567890,
'type' => "idea",
'url' => "http://myapp.mydomain.com.br/idea?i=".$idea_id,
'title' => "test",
'description' => "")
);
// handle the response
相同的错误消息,所以我尝试了混合:
$response = $facebook->api(
'me/objects/myapp:idea',
'POST',
array('idea' => "http://myapp.mydomain.com/idea?i=".$idea_id)
);
错误讯息:Fatal error: Uncaught OAuthException: (#100) The parameter object is required thrown in ...
另一次尝试:
$response = $_SESSION['facebook']->api('me/civilizationone:grok',
'POST',
array('app_id' => 390668467710669,
'type' => "idea",
'url' => "http://myapp.mydomain.com.br/idea?i=".$idea_id,
'title' => "test",
'description' => "",)
);
错误讯息:Fatal error: Uncaught Exception: The action you're trying to publish is invalid because it does not specify any reference objects. At least one of the following properties must be specified: idea.
我尝试过其他组合,这些组合很难以列出。所以我甚至不知道要走哪条路: