SimpleAuth没有返回Instagram响应

时间:2014-12-26 08:21:23

标签: ios xcode swift simple-authentication

我一直在尝试使用SimpleAuth创建一个iOS应用来验证Instagram。

在我的AppDelegate.swift中,我有:

SimpleAuth.configuration()["instagram"] = ["client_id": "MY-CLIENT-ID", SimpleAuthRedirectURIKey: "MY-REDIRECT-URL"]

(显然,在需要的地方插入客户端ID和重定向URI)

在我的ViewController.swift中,我有:

    @IBAction func instagramAuthenticate(sender: AnyObject) {

    SimpleAuth.authorize("instagram", options: ["scope" : ["likes"]], completion: {
        (responseObject : AnyObject!, error : NSError!) -> Void in

        println("\(responseObject)")
    })
}

出于某种原因,当用户授权我的应用时,responseObject似乎返回'nil'。可能的意思出了问题。

我对Swift / iOS比较新,我不确定我做错了什么。感谢

1 个答案:

答案 0 :(得分:1)

原来我的重定向URI是它返回nil的原因。我改变了它,一切都很完美!感谢HorseT在上面的评论中。

编辑:下面有更深入的答案

可以找到以下所有信息here

首先,您必须在AppDelegate.swift

中配置Instagram
//Instagram Confifuration
    SimpleAuth.configuration()["instagram"] = ["client_id": "YOUR-CLIENT-ID", SimpleAuthRedirectURIKey: "myApp://Auth/instagram"]

确保SimpleAuthRedirectURIKeyinstagram developers page上的应用设置中的SimpleAuth.authorize("instagram", options: ["scope" : ["basic", "comments", "likes", "relationships"]], completion: { (responseObject : AnyObject!, error : NSError!) -> Void in if (responseObject != nil) { var instagramResponse = responseObject as! NSDictionary var accessToken : String = instagramResponse["credentials"]!["token"] as! String println(accessToken) } else { println(error.localizedDescription) } } 相同。

enter image description here

接下来,您需要授权用户。

{{1}}

这只是获取响应并打印accessToken。

从此处开始,您可以访问endpoints以检索更多数据。

希望这有帮助!