public static class Main { [FunctionName("Main")] public static async Task Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { PlayFabSettings.staticSettings.TitleId = Environment.GetEnvironmentVariable("PLAYFAB_TITLE_ID"); PlayFabSettings.staticSettings.DeveloperSecretKey = Environment.GetEnvironmentVariable("PLAYFAB_DEV_SECRET_KEY"); var loginResult = PlayFabServerAPI.LoginWithServerCustomIdAsync(new LoginWithServerCustomIdRequest() { CreateAccount = true, ServerCustomId = "my_custom_01", }, null).Result; var tokenResult = await PlayFabAuthenticationAPI.GetEntityTokenAsync(new PlayFab.AuthenticationModels.GetEntityTokenRequest() { }); var currentPlayerId = loginResult.Result.PlayFabId; TestInternal_0(currentPlayerId,log); var msg = ""; return new { messageValue = msg }; } //自测 internal class ITestInternalRequest : CloudScriptRequest { } internal class ITestInternalResult : CloudScriptResult { } private static async void TestInternal_0(string currentPlayerId, ILogger log) { var _params = new ITestInternalRequest(); _params.PlayFabId = currentPlayerId; var request = new ExecuteFunctionRequest() { FunctionName = "TestInternal", FunctionParameter = _params, GeneratePlayStreamEvent = false, }; var result = PlayFabCloudScriptAPI.ExecuteFunctionAsync(request); await result; log.LogInformation("TestInternal", result); } [FunctionName("TestInternal")] public static async Task TestInternal( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { var reqString = await req.ReadAsStringAsync(); FunctionExecutionContext context = JsonConvert.DeserializeObject>(reqString); ITestInternalRequest? _req = null == context? null:context.FunctionArgument; if (null == _req) { return new ITestInternalResult() { code = CloudScriptResultCode.ErrorParams, message = "null req" }; } var currentPlayerId = context.CallerEntityProfile.Lineage.MasterPlayerAccountId ?? _req.PlayFabId; return new ITestInternalResult() { code = CloudScriptResultCode.Ok, message = "" }; } }