Javascript 将请求2.0应用程序生成的请求发送到除“以外的/“我”;

Javascript 将请求2.0应用程序生成的请求发送到除“以外的/“我”;,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,我正在尝试使用JSSDK或graph API发送应用程序生成的请求,但我没有成功和绝望。问题是,当我向当前登录的用户发送请求时,一切正常,但当我尝试向不同的用户(即使该用户已经授权了我的应用程序)发送请求时,我收到OAuth异常“#2用户无法发送此请求:未知错误”,有时“无法发送任何应用程序请求” 我的应用程序已启用Request 2.0,并具有发布流、阅读流和用户关于我的权限。即使在Graph API explorer中也会显示我描述的相同错误消息 这里使用JS SDK描述了完全相同的问题:

我正在尝试使用JSSDK或graph API发送应用程序生成的请求,但我没有成功和绝望。问题是,当我向当前登录的用户发送请求时,一切正常,但当我尝试向不同的用户(即使该用户已经授权了我的应用程序)发送请求时,我收到OAuth异常“#2用户无法发送此请求:未知错误”,有时“无法发送任何应用程序请求”

我的应用程序已启用Request 2.0,并具有发布流、阅读流和用户关于我的权限。即使在Graph API explorer中也会显示我描述的相同错误消息

这里使用JS SDK描述了完全相同的问题:

。。。这里使用Graph API:


请提供帮助。

如果要向用户发送请求,应使用应用程序访问令牌发布到Graph API“/user\u id/apprequests”(https://developers.facebook.com/docs/authentication/#applogin). 此调用设计为在服务器端执行,因为您不想共享您的应用程序访问令牌:

curl -F 'access_token=APP_ACCESS_TOKEN' \
-F 'message=From the app to the user.' \
https://graph.facebook.com/USER_ID/apprequests
仅使用来自接收者(用户ID)的用户访问令牌可以实现同样的目的:

在JS SDK中,如果没有添加访问令牌字段,默认的访问令牌将是登录用户的。知道后,向登录用户发送请求的上述调用将是:

FB.api('/me/apprequests', 'POST',  {message: 'From the app to the user.'});

第一个调用也可以通过JSSDK完成,方法是在参数中添加应用访问令牌。但是,这是一个不使用的情况,因为您不想在客户端共享您的应用程序访问令牌。

如何选择要向其发送请求的用户?以及您正在使用的代码?使用JSSDK,如下所示:FB.api(“/”+recipient+“/apprequests”,“POST”,“{message:“Notification message”,data:“Notification data”},函数(响应){console.log(响应);});@genesis可能重复:它们是重复的。
FB.api('/me/apprequests', 'POST',  {message: 'From the app to the user.'});