Google OAuth HTTP API iOS

问题描述 投票:0回答:1

我正在尝试让 Google OAuth 在 iOS 上运行,以便我可以向 Google Calendar API 发出请求。我目前正在使用此代码将 Google 登录表加载到

UIWebView
中并尝试取回访问令牌..

[AISWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/calendar&redirect_uri=%@&response_type=code&client_id=%@",kSharedURI,kClientId]]]];

通过使用

NSString
一次又一次地解析 HTML,我设法从此处显示的文本字段中获取我认为的访问令牌。但是,当我尝试使用我认为的访问令牌来使用
NSMutableURLRequest
发出此日历请求时,我收到 Google 的回复说

 error = {
      code = 401;
      errors =  (
                  {
            domain = global;
            location = Authorization;
            locationType = header;
            message = "Login Required";
            reason = required;
        }
    );
    message = "Login Required";
};

如果有人有任何想法,我们将不胜感激。

ios objective-c oauth uiwebview
1个回答
0
投票

首先请注意,我不熟悉Google的API。

我认为您正在将 OAuth 数据作为请求中的参数发送。但他们请求它们作为身份验证标头。您应该使用 NSURLConnection(或第 3 方框架)之类的框架来添加这些标头。

请参阅:iOS 中的 NSURLConnection 和基本 HTTP 身份验证 的示例

祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.