I am using the ProfileAPI through my server to set the profile language of the "master_player_account" entity of the players after registering on my app.
Using the Java SDK, I set the DeveloperSecretKey, I call PlayFabAuthenticationAPI.GetEntityTokenAsync so PlayFabSettings.EntityToken is set.
I checked that the token expires in 24h.
But those are the results I get when calling PlayFabProfilesAPI.SetProfileLanguageAsync (with
ExpectedVersion parameter set to 0)
Most of the requests are failing with a NotAuthorized error.
As the entity token is expected to last for 24h I can't really understand what's going on.
Here is the description of the error:
The claim was not allowed to perform the requested action based on the entity's access policy. Policy comment: By default, all requests are denied. If you expected this request to succeed, you may be missing a policy. See the permissions APIs in PlayFab's Admin Api to add a permission.
If I manually check the profile of a user that gave the error, I can see that the profile version is 1 (and the language is null)
I am not using the EntityAPI for anything else, so this is my only use case.
As I thought that the issue could be a race condition on Playfab's side, I delayed the SetProfileLanguage call 10 seconds after the user is logged in, but I still have the same random results.
I am losing most of my users' language preferences, and that's really unconvenient because I can't safely send push notifications and expect users to get them in their preferred language.
Any advice would be appreciated!