要求
你需要:- 一个用于测试的 Google 账户。
- 已注册的
[PlayFab](https://developer.playfab.com/)title。 - 熟悉登录基础和最佳实践。
- 至少一个具有有效域名的服务器以充当静态 HTML 文件。请参阅为测试运行 HTTP 服务器教程,了解如何设置。
服务器和域名
本指南需要具有有效域名的服务器来跟进。如果你还没有注册域名和远程 Web 服务器,请按照我们的为测试运行 HTTP 服务器教程,了解如何设置一个具有有效域名的本地 Web 服务器。 在本指南中,我们假设你的域名是[http://playfab.example](http://playfab.example)。
注册 Google API 项目
首先导航到 Google API Console:- 导航到 CREATE PROJECT 并选择它。

- 填写 Project Name 下的字段。
- 选择 Create 按钮。

API Manager 生成项目需要 10-20 秒是正常的。
- 导航到 OAuth consent screen。
- 在 User Type 下选择 External
- 然后选择 Create。

- 填写 App Name
- 确保有 user support email 和 Developer Contact Email 的电子邮件
- 然后选择 SAVE AND CONTINUE


- 接下来,导航到 Credentials。
- 选择 Create credentials。
- 然后选择 OAuth client ID。

- 选择 Web Application 作为你的 Application type。
- 为你的应用程序命名 Name。
- 将你的域名添加到 Authorized JavaScript origins —— 在我们的情况下是
[PlayFab](http://playfab.example.com)。 - 最后,选择 Create 按钮提交你的更改。

- client ID
- client secret。
请务必将这些值复制并保存在易于访问的安全位置,因为它们将在本教程稍后显示的授权过程中使用。

- 在菜单中导航到 Add-ons。
- 找到并打开 Google Add-on 图标/链接。

- 填写 Client ID。
- 填写 Client secret。
- 然后选择 Install Google 按钮。

截至 2017 年 7 月,Google API Manager 有不正确挂钩 Allowed JS 源域的坏习惯。如果你收到以下错误:“idpiframe_initialization_failed”, details: “Not a valid origin for the client: somedomain.com…”,请删除凭据并重新创建它们。无需删除整个项目——只需删除凭据即可。
使用访问令牌进行测试
在此示例中,我们展示如何使用经典访问令牌方法测试 LoginWithGoogleAccount API。使用下面提供的 HTML 代码进行测试。请务必*用你自己的值替换
YOUR_CLIENT_ID 和 YOUR_PLAYFAB_TITLE。在 TypeScript 类型定义文件中,LoginWithGoogleAccountRequest 对象中缺少 AccessToken 参数。如果你在 Node SDK 中使用 TypeScript,你可以创建一个自定义类型
interface LoginRequest extends PlayFabClientModels.LoginWithGoogleAccountRequest { AccessToken: string; },并在使用 API 时进行类型转换 PlayFabClient.LoginWithGoogleAccount( { AccessToken: accessToken, CreateAccount: true, } as LoginRequest, onPlayFabResponse);下面的示例使用 Google Sign-In platform library。根据 Google Identity 公共文档站点,用于 Web 的 Google Sign-In JavaScript platform library 将于 2023 年 3 月 31 日弃用。此示例将不再适用于新创建的 Google 客户端 —— 请参考先前的代码示例,它使用较新的 Google Identity Services 库!
http://playfab.example)访问此页面。
- 页面打开后,选择 G Signed In,并按照通用的 Google 身份验证流程。
- 完成后,脚本将尝试在 PlayFab 端进行身份验证并输出结果。

如果你已经有一个 Google 身份验证会话正在运行,你就不必选择 G Signed In。一切都会自动发生。
