如何使用Facebook iOS SDK标记照片中的几个朋友

时间:2012-08-09 09:49:00

标签: ios facebook sdk tags

从Facebook Developer文档中,我发现了这一点 “您可以使用两种方法指定要标记的用户:在URL路径中为PHOTO_ID/tags/USER_ID,或在URL参数中为PHOTO_ID/tags?to=USER_ID。要一次添加多个标记,您可以指定包含的tags属性一系列标记,例如PHOTO_ID/tags?tags=[{"id":"1234"}, {"id":"12345"}]。目前,您无法使用此API标记照片中的页面。“

这是我的代码。

NSString *photoID = @"267766096670674";    

[self.facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/tags?tags=[{\"id\":\"%@\"},{\"id\":\"%@\"}]?access_token=%@", photoID, @"100001965796318", @"100004119154586", self.facebook.accessToken]
                          andParams:nil 
                      andHttpMethod:@"POST" andDelegate:self];

我得到如下错误 “错误消息:错误域= NSURLErrorDomain代码= -1000”错误的URL“UserInfo = 0x3f55a0 {NSUnderlyingError = 0x3f5c10”错误的URL“,NSLocalizedDescription =错误的URL}”

由于该文件,标记一个朋友是好的。但为什么我不能一次标记几个朋友呢?

2 个答案:

答案 0 :(得分:0)

api中的键应该是'tag_uid'而不是'to'。 因此API应该是:

PHOTO_ID /标签标记= [{ “tag_uid”: “1111111111111”},{ “tag_uid”: “222222222”}]

答案 1 :(得分:0)

非常感谢。它解决了使用Facebook API Explorer时的问题。但我将参数复制到XCode,如下所示

    NSString *testString = @"267766096670674/tags?tags=[{\"tag_uid\":\"100001965796318\"},{\"tag_uid\":\"100004119154586\"}]&access_token=BAAC3gS8qGCUBADoG8Rvh1jAfWJQmAW6BenV6KXkcQThKquvav7v1eSZB4MxHefH3hwt6JHd44Rz9FWhXVCNZAAmUGzVz6OcaKvxUZA0tCDlKU9Wj7o0hQo8eB7GgdoXaWrkx79oRzqKyjF7O9cX";
NSLog(@"%@", testString);
[self.facebook requestWithGraphPath:testString
                          andParams:nil 
                      andHttpMethod:@"POST" andDelegate:self]; 

它不起作用。但它适用于Graph API Explorer工具,我不知道为什么。