需求
您需要:- 用於測試的 Google 帳戶。
- 已註冊的
[PlayFab](https://developer.playfab.com/)遊戲。 - 熟悉登入基本概念和最佳做法。
- 至少需要一部具有有效網域名稱的伺服器,以提供靜態 HTML 檔案。如需如何設定的相關資訊,請參閱執行 HTTP 伺服器進行測試教學課程。
伺服器和網域
本指南需要具有有效網域的伺服器。如果您還沒有已註冊的網域和遠端 Web 伺服器,請依照我們的執行 HTTP 伺服器進行測試教學課程,了解如何設定並執行具有有效網域名稱的本機 Web 伺服器。 在本指南中,我們假設您的網域是[http://playfab.example](http://playfab.example)。
註冊 Google API 專案
首先,瀏覽至 Google API 主控台:- 瀏覽至 CREATE PROJECT 並選取它。

- 填寫 Project Name 下方的欄位。
- 選取 Create 按鈕。

API Manager 需要 10 到 20 秒來產生專案,這是正常現象。
- 瀏覽至 OAuth consent screen。
- 在 User Type 下選取 External
- 然後選取 Create。

- 填寫應用程式名稱
- 確認 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 按鈕以認可變更。

- 用戶端識別碼
- 用戶端密碼。
請務必將這些值複製並儲存在容易存取的安全位置,因為本教學課程稍後所示的授權程序會使用這些值。

- 在功能表中瀏覽至 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 平台程式庫。根據 Google Identity 公開文件網站,適用於 Web 的 Google Sign-In JavaScript 平台程式庫將於 2023 年 3 月 31 日淘汰。此範例今後將無法用於新建立的 Google 用戶端,請參閱前一個程式碼範例,它使用較新的 Google Identity Services 程式庫!
http://playfab.example)。
- 頁面開啟後,選取 G Signed In,然後依照一般的 Google 驗證流程進行。
- 完成後,指令碼會嘗試在 PlayFab 端進行驗證並輸出結果。

如果您已經有執行中的 Google 驗證工作階段,就不需要選取 G Signed In。一切都會自動進行。
