Javascript SDK删除请求发出意外的OAuthException

时间:2011-12-18 00:51:41

标签: javascript facebook request

使用文档中的代码:

function deleteRequest(requestId) {
  FB.api(requestId, 'delete', function(response) {
    console.log(response);
  });
} 

我收到了一个错误:

  

(#2)必须指定应用程序请求收件人:必须通过用户签名的访问令牌或完全指定的应用程序请求ID指定此应用程序请求的收件人。

在此之前,我肯定和FB REST有关,有什么想法吗?

2 个答案:

答案 0 :(得分:3)

如果您的应用有效迁移到Requests 2.0,则requestId必须同时包含apprequest ID和_之间的用户ID(因为相同的apprequest可能会发送给多个用户)

例如: apprequest = 1111111和 USER_ID = 2222222

然后requestId将是1111111_2222222

function deleteRequest(appRequestId, userId) {
  FB.api(appRequestId+"_"+userId, 'delete', function(response) {
    console.log(response);
  });
} 

答案 1 :(得分:0)

如果您使用C#facebook SDK,可以使用:

var fb = new FacebookClient(Config.FacebookAppId, Config.FacebookAppSecret);
var result = fb.Delete(string.Format("{0}_{1}?access_token={2}", facebookRequestId, facebookUserId, fb.AccessToken));

(另见这个问题:Facebook Deleting Requests