iOS的Google Plus API – 共享或login,而无需转到Safari

到目前为止,我在这个主题上发现的一切,都是一个NO。

当用户login和共享时,我的应用程序工作正常,但这两个操作都需要移动Safari,这对用户来说不是一个理想的体验,任何人都可以find一种方法来共享post或使用UIWebViewlogin到Google + GET / POST?

任何帮助将不胜感激。

谢谢。

您可以通过Google+login到UIWebView。

GTMOAuth2ViewControllerTouch *_googlePlusCtrl = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:@"https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/plus.me" clientID:GOOGLE_PLUS_CLIENT_ID clientSecret:GOOGLE_PLUS_CLIENT_SECRET keychainItemName:@"GooglePlus_Sample_App" delegate:self finishedSelector:@selector(viewController:finishedWithAuth:error:)]; 

希望这会帮助你。

就像你说的那样,最简单的答案是否定的。 SDK实际上会尝试回退以下内容:

  1. 通过Google+应用login(这是一个不错的结果,但需要安装Google+应用)
  2. 通过Chromelogin
  3. 通过移动Safarilogin

您可以使用GPPSignIn对象上的attemptSSO标志来控制第一部分 – 如果将其设置为NO,则不会尝试使用Google+应用程序。 您通常会首先尝试使用Google+应用程序。 尽pipe通过web(chrome / safari)与当前API版本(1.2.1)共享总是会发生的。

那是那个东西。 这是可能的。 第一步 – 从这里下载示例项目 – https://github.com/emysa341/Login-with-gmail-google-g–using-oath-2.0-protocol 。 第二步,在响应连接完成加载后,再提出一个请求 – https://www.googleapis.com/oauth2/v1/userinfo?access_token=%@ 。 使用您从第一个请求获得的访问令牌。 现在在响应中,您将获得用户数据。 另外,如果您需要用户的电子邮件,请将范围更改为“ https://www.googleapis.com/auth/userinfo.email ”。