当特定事件发生时,我尝试从应用程序向用户发送消息。现在我有这个代码
$param = array(
'message' => 'XYZ shared a file with you',
'data' => 'additiona_string_data',
'access_token' => $facebook->getAccessToken(),
);
$tmp = $facebook->api("/$uid/apprequests", "POST", $param);但我总是得到Uncaught OAuthException: (#2) Failed to create any app request thrown
我不知道问题出在哪里。
发布于 2012-01-14 22:18:36
您应该阅读请求文档。
在中有关于两种不同类型的请求的解释。
使用生成的request dialog )
)启动
您需要的是app generated requests,这意味着您将需要应用程序访问令牌,而不是用户。
我假设您使用的是用户访问令牌,因为您没有在代码示例中包含facebook对象的初始化,并且可能已经验证了用户,因此getAccessToken()调用将返回用户访问令牌,而不是应用程序访问令牌。
发布于 2012-01-14 23:45:27
我对“当特定事件发生时,我正在尝试从应用程序向用户发送消息。现在我有这个代码”的意思感到有点困惑。
回答
email和read_stream权限。使用RealTime更新监控他的墙壁,然后使用您的服务器SMTP发送电子邮件给他。发布于 2014-02-04 13:50:14
您可以通过以下方式接收Facebook应用程序访问令牌:
https://graph.facebook.com/oauth/access_token?client_id=FB_APP_ID&client_secret=FB_APP_SECRET&grant_type=client_credentials使用Facebook PHP SDK发布应用程序到用户请求的工作代码示例(在需要的地方添加错误处理):
$facebook = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_APP_SECRET,
));
$token_url = "https://graph.facebook.com/oauth/access_token?" ."client_id=" .
FB_APP_ID ."&client_secret=" . FB_APP_SECRET ."&grant_type=client_credentials";
$result = file_get_contents($token_url);
$splt = explode('=', $result);
$app_access_token =$splt[1];
$facebook->setAccessToken($app_access_token);
$args = array(
'message' => 'MESSAGE_TEXT',
);
$result = $facebook->api('/USER_ID/apprequests','POST', $args);https://stackoverflow.com/questions/8862621
复制相似问题