我正在尝试使用离线访问在用户的Feed中发布签到。但我不断收到各种错误,但如果我尝试发布消息/视频/图片,一切都会很好。
所以这是我的代码:
public function postCheckIn()
{
$post=array(
'access_token'=> $this->token,
'message'=>'Test check-in!',
'place'=>'172822562765332',
'coordinates' => json_encode(array(
'latitude' => '55.772855818478',
'longitude' => '37.687225341797'
))
);
try
{
$res=$this->fb->api('/'.$this->uid.'/checkins', 'POST', $post);
}
catch(FacebookApiException $e)
{
$res=$e->getMessage();
}
return $res;
}
当我运行此代码时,我得到一个例外:
需要有效的地方信息页ID
我使用https://developers.facebook.com/tools/explorer/检查此地点,并返回一些有效信息。
是的,我有publish_checkins权限。我总是要提供placeId和坐标吗?我可以提供其中一个参数吗? 以及如何让它发挥作用?
谢谢。
答案 0 :(得分:0)
您始终可以使用publish_stream,因为这可以解决您在离线发布时遇到的任何问题。
http://developers.facebook.com/docs/reference/rest/stream.publish/
答案 1 :(得分:0)
https://graph.facebook.com/172822562765332没有纬度经度数据 我想这就是为什么
这是一个有效的片段...你的参数对我来说是正确的 formPost-> addField(“message”,message); formPost->激活addField( “地点”,地点); formPost->激活addField( “坐标” 的坐标); formPost-> addField(“tags”,tags); formPost-> addField(“application”,“{\”id \“:\”204264309603362 \“,\”name \“:\”mobile borg \“}”); qDebug()<< “FacebookGraph ::交” <
QString feed=url+"me/checkins";