如何在iOS Facebook SDK上删除应用请求?

时间:2012-01-30 07:11:43

标签: facebook-graph-api facebook-ios-sdk

使用iOS SDK在Facebook上发布应用程序请求时,开发人员指南要求开发人员在应用程序打开时清除请求。

  

删除请求

     

通过点击接受请求将用户定向到您的应用   您必须在接受请求后删除该请求。请求是   点击后不会自动删除,因此它就是   开发人员有责任在他们被接受后清除它们。   https://developers.facebook.com/docs/requests/#deleting

是否有清除所有通知或其他类似帮助的功能?

1 个答案:

答案 0 :(得分:5)

以下API将清除特定的应用请求:

FBRequest *request = [facebookObject requestWithGraphPath:@"REQUEST-ID_USER-ID"
                                    andParams:[NSMutableDictionary dictionary]
                                    andHttpMethod:@"DELETE"
                                    andDelegate:self];

替换REQUEST-ID的请求ID和Facebook用户ID的USER-ID(两者之间的下划线很重要)。根据需要更改andDelegateandParams,但不要将nil对象传递给andParams,否则会完全失败。

要删除所有请求,您需要遍历在url中传递的所有请求:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;

可在您的应用代理中实施。

所有用户的现有请求ID都以逗号分隔在request_ids NSURL中target_url参数的url参数中。仅当用户在iOS Facebook应用中点击应用请求通知并且您的Facebook应用已启用iOS Native Deep Linking时,才会发生这种情况。