gpt4 book ai didi

ios - Spotify:使用不接受重定向 URL 的 Web API 登录

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:05 25 4
gpt4 key购买 nike

我正在尝试使用 Web API 登录 Spotify,因为我不需要 session 对象。在我的授权方法中,我需要传入重定向网址,但 .GET 请求不接受 iOS 重定向网址的格式化方式。

func authorize() {
// create the url
let url = "https://accounts.spotify.com/authorize"

// parameters
let parameters = ["client_id" : kClientID,
"response_type" : "code",
"redirect_uri" : "spotify-discover-login://callback",
"state" : kState,
"scope" : kScopes]

// response code
var responseCode = 401

Alamofire.request(.GET, url, parameters: parameters, headers: nil)
.responseString{response in
print(response)
switch response.result {
case .Success:
if let response = response.response {
responseCode = response.statusCode
}
case .Failure:
print("fail")
return
}

switch responseCode {
case 200:
print("200")
case 202:
print("@ACCEPTED")
case 400:
print("@BAD REQUEST")
case 401:
print("@AUTH FAIL")
case 403:
print("@FORBIDDEN")
case 1004:
print("@COULD NOT CONNECT")
default: break
}
}
}

更新:

这是 Xcode 给我的错误:

FAILURE: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL"
UserInfo={NSUnderlyingError=0x7fc89b4677a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}, NSErrorFailingURLStringKey=spotify-discover-login://callback/?code=AQDKy5g8QOVodDd0kTEmqG-MXKdPmKiPzzSUSfZAY_Nh0J_SW8LYl7s583Pe6mu1kJcHA6Hyudpwhu-FkBXagvFE_Vh8ZVXsSP8sMZvJTikPkdJeV57vgJaL9f6K9QMLfGbIb1XuhqadLP30SGejyDoLGgVoLVtrW_ryWK4KQRwvQKNiitAW9kBDYry6A70i6R7aosFKOQrhswYxhH3Lre0ieBnCt0HrLozp3qQvnk36NKY2Ur2OdI92JOaf4Gk3UmLbrIyjcvUzdeK21tk-bkog9em0x3jJBKgeSAmiFz05ioehlboD9D79uvKPFfnA3hkvfBNFN5dvegiBcRfik7mNebckD2WRABqPyid5Xw8zt092sheCwhuxQDh13-LxGC4WfTlA5ydNrZlwQA5_5JcMQvgZZOA&state=random-string-state, NSErrorFailingURLKey=spotify-discover-login://callback/?code=AQDKy5g8QOVodDd0kTEmqG-MXKdPmKiPzzSUSfZAY_Nh0J_SW8LYl7s583Pe6mu1kJcHA6Hyudpwhu-FkBXagvFE_Vh8ZVXsSP8sMZvJTikPkdJeV57vgJaL9f6K9QMLfGbIb1XuhqadLP30SGejyDoLGgVoLVtrW_ryWK4KQRwvQKNiitAW9kBDYry6A70i6R7aosFKOQrhswYxhH3Lre0ieBnCt0HrLozp3qQvnk36NKY2Ur2OdI92JOaf4Gk3UmLbrIyjcvUzdeK21tk-bkog9em0x3jJBKgeSAmiFz05ioehlboD9D79uvKPFfnA3hkvfBNFN5dvegiBcRfik7mNebckD2WRABqPyid5Xw8zt092sheCwhuxQDh13-LxGC4WfTlA5ydNrZlwQA5_5JcMQvgZZOA&state=random-string-state, NSLocalizedDescription=unsupported URL}

最佳答案

NSURLErrorDomain 代码 -1002 指向一个 NSURLErrorUnsupportedURL 错误。根据Apple ,这个错误意味着:

NSURLErrorUnsupportedURL

Returned when a properly formed URL cannot be handled by the framework.

The most likely cause is that there is no available protocol handler for the URL.

Available in iOS 2.0 and later.

根据 NSHipster ,这个错误意味着:

"The connection failed due to an unsupported URL scheme."

因此您的 URL 格式正确,但没有协议(protocol)处理程序知道如何处理“spotify-discover-login”协议(protocol)。

但这当然是您的自定义 URL 方案。确保您已在 info.plist 中正确注册自定义 URL 方案并实现应用程序:openURL:选项:。看这个tutorial .

作为旁注,您的自定义 URL 方案名称非常通用。另一个应用程序或 Spotify 应用程序本身现在或将来可能会使用完全相同的方案,这可能会让您在调试时头疼。确保方案独一无二,最有可能在方案中包含您的应用或公司的名称,例如“PoKoBros-spotify-discover-login”。

关于ios - Spotify:使用不接受重定向 URL 的 Web API 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37176666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com