如何解决如何在Alamofire中使用OAuth 1迅捷5.1
我正在尝试使用具有OAuth 1授权的API get请求,但答案带有错误401
我的代码:
func fetchData(){
AF.request("https://weather-ydn-yql.media.yahoo.com/forecastrss?woeid=2033119.ca&format=json",headers: [
"X-Yahoo-App-Id": "ficRZ8y6","Authorization":"OAuth","oauth_consumer_key":"dj0yJmk9MEl6WWtoMDNTMjZaJnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTkx","oauth_signature_method":"HMAC-SHA1","oauth_nonce":"2PgalgZUkxP","oauth_version":"1.0","oauth_signature":"S9DBYvEzY20nY7ef5d0lDsAYFKU%3D"
]).responseJSON { response in debugPrint(response)}
}
答案是
2020-09-06 15:44:31.428361+0300 almofireWeather[3511:165997] CredStore - performQuery - Error copying matching creds. Error=-25300,query={
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = htps;
"r_Attributes" = 1;
sdmn = "yahooapis.com";
srvr = "weather-ydn-yql.media.yahoo.com";
sync = syna;
}
[Request]: GET https://weather-ydn-yql.media.yahoo.com/forecastrss?woeid=2033119.ca&format=json&Authorization=OAuth&X-Yahoo-App-Id=ficRZ8y6&oauth_consumer_key=dj0yJmk9MEl6WWtoMDNTMjZaJnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTkx&oauth_nonce=2PgalgZUkxP&oauth_signature=S9DBYvEzY20nY7ef5d0lDsAYFKU%253D&oauth_signature_method=HMAC-SHA1&oauth_version=1.0
[Headers]: None
[Body]: None
[Response]:
[Status Code]: 401
[Headers]:
Age: 0
Cache-Control: max-age=0,private
Content-Type: application/xml;charset=UTF-8
Date: Sun,06 Sep 2020 12:44:31 GMT
expect-ct: max-age=31536000,report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only"
Expires: -1
public-key-pins-report-only: max-age=2592000; pin-sha256="2fRAUXyxl4A1/XHrKNBmc8bTkzA7y4FB/GLJuNAzCqY="; pin-sha256="I/Lt/z7ekCWanjD0Cvj5EqXls2lOaThEA0H2Bg4BT/o="; pin-sha256="K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q="; pin-sha256="Wd8xe/qfTwq3ylFNd3IpaqLHZbh2ZNCLluVzmeNkcpw="; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="cGuxAXyFXFkWm61cF4HPWX8S0srS9j0aSqN0k4AP+4A="; pin-sha256="dolnbtzEBnELx/9lOEQ22e6OZO/QNb6VSSX2XHA3E7A="; pin-sha256="i7WTqTvh0OioIruIfFR4kMPnBqrS2rdiVPl/s2uC/CY="; pin-sha256="r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E="; pin-sha256="uUwZgwDOxcBXrQcntwu+kYFpkiVkOaezL0WYEZ3anJc="; includeSubdomains; report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-hpkp-report-only"
referrer-policy: no-referrer-when-downgrade
Server: ATS
Strict-Transport-Security: max-age=31536000
Www-Authenticate: OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR",realm="yahooapis.com"
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
[Body]:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><yahoo:error xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" xml:lang="en-US" yahoo:uri="http://yahoo.com"><yahoo:description>Please provide valid credentials. OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR",realm="yahooapis.com"</yahoo:description><yahoo:detail>Please provide valid credentials. OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR",realm="yahooapis.com"</yahoo:detail></yahoo:error>
[Network Duration]: 0.7563899755477905s
[Serialization Duration]: 0.0002490109982318245s
[Result]: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(error: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.})))
我在没有Alamofire的情况下成功通过URLRequst提出了请求。但是问题是我想学习如何使用该框架 也许有人知道如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。