私はfacebook-api
を使用してユーザーの友人を取得しています。コードは以下の通りである:どのようにNSArrayを特定のStringに変換できますか?
let params = ["fields": "id"]
let request = FBSDKGraphRequest(graphPath: "me/friends", parameters: params)
request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in
if error != nil {
let errorMessage = error.localizedDescription
print(errorMessage)
/* Handle error */
}
else if result.isKindOfClass(NSDictionary){
/* handle response */
let defaults = NSUserDefaults.standardUserDefaults()
let resultdict = result as! NSDictionary
let data : NSArray = resultdict.objectForKey("data") as! NSArray
for i in 0..<data.count {
let valueDict : NSDictionary = data[i] as! NSDictionary
let id = valueDict.objectForKey("id") as! String
print("the id value is \(id)")
}
let friends = resultdict.objectForKey("data") as! NSArray
print("Found \(friends.count) friends")
print(friends)
defaults.setObject(friends, forKey: "fb_friends")
defaults.synchronize()
}
}
をresultDict
が含ま:
{
data = (
{
id = 1662200084096651;
}
);
paging = {
cursors = {
after = QVFIUmFsa0JGazI4amNEcFczT0NRQzdiNshusdsDSHFDHFDDSm02UzNudV9ZATS1ESk5iUEQ5T2syNGDSw4yegdxbdf4WGZA3;
before = QVFIUmFsa0JGazI4amNEcFczT0NRQzdiNURGQTgdsgdsHFDSHTRTNU9DSm02UzNudV9ZATS1ESk5iUEQ5T2syNkRjQW8xc1drGgdsGREHRTcXE4WGZA3;
};
};
summary = {
"total_count" = 762;
};
}
(1人のFB友人のための)プリント上記print
:
( { ID = 1020XXXXXX305XXX; } )
私はこれを私のサービスに渡したいRので、私はやって考えた:私が持っている
friends: 1020XXXXXX305XXX
:
var emptyParams = ["":""]
emptyParams["friends"] = (defaults.objectForKey("fb_friends") as! NSArray).componentsJoinedByString(",")
が、その後代わりのparamsのを
"friends": {
id = 10206503694305180;
}
私はid
をスキップして、配列として、それを送信したいですなぜなら私のサーバーには私が持っているからです。
var friends = req.body.friends;
for(var i=0; i<friends.length; i++) {
console.log(friends[i]);
query = query.or([{ 'fb_friend': friends[i] }]);
}
私は正しい要求を作成するように自分のswift
コードを変更する必要がありますか?
resultDictの値を教えてください。私はIDとフォーマットなどの価値をここで混乱させているので –
@Sharpkits私は必要な編集を追加しました、最初の場所でその情報の欠如のため申し訳ありません! – user3766930