【问题标题】:Social framework auto-appending access key社交框架自动附加访问密钥
【发布时间】:2013-04-25 00:38:54
【问题描述】:

我正在尝试使用 iOS 6 社交框架检索具有特定字段的朋友列表。我正在使用网址:

NSString *username = [[NSUserDefaults standardUserDefaults] objectForKey:@"fbUserID"];
    NSString *urlString = [NSString stringWithFormat:@"https://graph.facebook.com/%@/friends?fields=id,name,picture", username];
    NSURL *friendsList = [NSURL URLWithString:urlString];

但框架似乎会自动将访问密钥附加到它,并且使用“?”来执行此操作。就好像它是第一个 URL 参数一样。更重要的是,API 抱怨它期待语句的结尾而不是 ?,这在这个错误中很明显:

error =     {
        code = 2500;
        message = "Syntax error \"Expected end of string instead of \"?\".\" at character 15: id,name,picture?access_token=HHyDtnfrjnojngehrtjgnekngeXsI0ZBansnfjDHDhljoQKIfZB5i3JMUHlJIm5HHdwM4s5ixyu38es1vj9XXTcLSS6ZCOi13zQW87dw9YP3DgpllDz5KB6WnSeYGxS9RMfd3npZBwZAEUdmkJHoYlWvflfcQHVwIydLfExjOaNpGZBGhYvb3XlrZAXt7jmDai6FiMoZBRmdOUWfA5vubeNbvvn9y80cPaUPZBZCAZDZD";
        type = OAuthException;
    };

这是框架的正常行为吗?访问令牌通常以这种方式附加吗?如果是这样,我应该如何形成我的 urlString 以便这不是问题?

【问题讨论】:

  • 您实际上是如何使用您创建的网址进行通话的?你在使用 SLRequest 吗?
  • 您好,李明,感谢您的回复!!是的,我正在使用 SLRequest 发送 URL。我正在尝试在 iOS 的 Social.Framework 中做所有事情,而根本不实现 FB SDK。您有什么建议或想法吗?

标签: ios facebook access-token


【解决方案1】:

不要将“字段”参数放在 NSURL 中,而是尝试创建一个普通的 NSURL

NSString *urlString = [NSString stringWithFormat:@"https://graph.facebook.com/%@/friends", username];
NSURL *friendsList = [NSURL URLWithString:urlString];

并调用 requestForServiceType:requestMethod:URL:parameters,并传入类似的内容:

@{@"fields": @"id,name,picture"}

用于“参数”字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多