Facebook Graph API签到

时间:2012-03-20 18:29:09

标签: php facebook facebook-graph-api

我正在尝试使用离线访问在用户的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和坐标吗?我可以提供其中一个参数吗? 以及如何让它发挥作用?

谢谢。

2 个答案:

答案 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";