2012-08-09 90 views
1

來自Facebook的開發者文檔,我發現 「您可以指定使用兩種方法來標記它的用戶:在爲PHOTO_ID/tags/USER_ID的URL路徑,或在URL參數作爲PHOTO_ID/tags?to=USER_ID要一次添加多個標籤,您可以指定一個標籤屬性,其中包含一組標籤,如PHOTO_ID/tags?tags=[{"id":"1234"}, {"id":"12345"}]。目前,您無法使用此API在照片中標記頁面。如何標記的照片幾個朋友使用Facebook的iOS版SDK

這是我的代碼。

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}」

由於文檔的原因,給一個朋友添加標籤即可。但爲什麼我不能一次給幾個朋友貼標籤?

+0

不確定這是否是問題的一部分,但是您在那裏構建的查詢字符串是錯誤的 - 在參數名稱'access_token'之前有一個'?',它應該是一個'&'。如果解決這個問題不會導致問題消失,請嘗試正確地對「tags」參數的值進行URL編碼。 – CBroe 2012-08-09 11:34:37

+0

非常感謝。但是我用'&'來代替'?',這並不能解決問題。我真的不明白「URL - 正確編碼標籤參數的值」,你能舉個例子嗎? – user1587106 2012-08-09 11:42:33

+0

http://www.google.com/search?q=what+is+url+encoding關於如何使用您正在使用的語言進行操作,請自行完成研究。 – CBroe 2012-08-09 11:43:58

回答

0

api中的鍵應該是'tag_uid'而不是'to'。 因此API應該是:

PHOTO_ID /標籤標記= [{ 「tag_uid」: 「1111111111111」},{ 「tag_uid」: 「222222222」}]

+0

非常感謝,它解決了使用Facebook API Explorer時的問題,但我將參數複製到XCode中,如下所示 – user1587106 2012-08-10 02:01:57

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]; 

它不起作用。但它適用於圖形API瀏覽器工具,我不知道爲什麼。

+1

請修改您的問題以更新您的進度比發佈答案。 – nhahtdh 2012-08-10 05:28:45

相關問題