2012-02-25 50 views
0

我想向应用程序Facebook的用户发送应用程序请求。执行图API API [发送应用程序请求]

https://graph.facebook.com/myid_facebook/apprequests?message=测试&data= INSERT_STRING_DATA &access_token=XXXXXXX&method=post

我使用curl尝试过,但它不是工作...

这是我的源代码

$app_id = 'XXXXXXXXXX'; 
$app_secret = 'XXXXXXXXXXXXXXX'; 

$apprequest_url = "https://graph.facebook.com/endif.tc" . 
     "/apprequests?message=’pak nurrohman memberi anda tugas’" . 
     "&data=’INSERT_STRING_DATA’&access_token=" . 
     $this->facebook->getAccessToken() . "&method=post"; 

$result = file_get_html($apprequest_url); 
echo ("Request id number: " . $result['request']); 

file_get_html是功能使用curl加载另一个页面。

这个错误是:

"failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request" 

我想执行PHP的这个图side..is对我有什么办法解决?

我很抱歉,我的英语不好。:)

回答

0

我相信这是因为网址,你们不能这样的事实只是方法=岗位。

"https://graph.facebook.com/endif.tc" 

使用此代码,而不是一个适当的URL

$user_id = 'endif.tc'; 
$data = 'test'; 
$message = 'test request'; 
$url = "https://graph.facebook.com/".urlencode($user_id)."/apprequests" . 
    "?message=".urlencode($message). 
    "&data=".urlencode($data). 
    "&access_token=".$this->facebook->getAccessToken(); 

另一个问题可能是的file_get_contents不将POST数据到该页面。如果您希望发布可能需要使用cURL库的数据。

+1

当您编码$ data时,urlencode方法中存在拼写错误。 – happyhardik 2012-02-25 11:34:36

+0

@happyhardik谢谢!这是在飞行中。现在解决。 – MichaelH 2012-02-25 11:36:06

+0

谢谢你的一切...现在它成功.. 但你必须编写“&method = post”发送应用请求.. – 2012-02-27 00:29:32