That error specifically means that there's already a PlayFab account in your Publisher ID space that is linked to the Facebook account - that's literally the only way you'd get that error. Is it possible you have more than one title using the same Publisher ID (the default, within a Studio), and that a player account in another Title ID linked the Facebook account? If not, can you share the Title ID so that we can have a look?
Thanks, I looked at the title you sent over, and don't see anything immediately obvious. But I can confirm that the error in question can only ever occur if you have a PlayFab ID already linked to the Facebook account in question. You can use LoginWithFacebook to log into the account, get its PlayFab ID, and possibly see why it would have been linked, or you can use LinkFacebookAccount with ForceLink set to true to override the linked account with the new one.
Maybe I just have an incorrect understanding, is it possible for one account to have multiple devices
One PlayFab account can have multiple Device IDs linked to it. But service-to-service authenticated accounts, like Facebook, Steam, Xbox, etc. can only be linked to one PlayFab account and vice-versa.
Here is my usecase : Bob starts the app on his ipad and binds his facebook to this device. Now he opens his Android phone and wants to link his phone to his playfab account that was created through the ipad. Bob opens the app in his phone and hits the link account button and signes in his facebook credentials. At this point I have validated his fb account. Now I can't call PlayFabClientAPI.LinkFacebookAccount right now because it will throw an error as indicated above because the facebook account is already linked. So I need to now locate the other playfab account that is attached to his facebook account so I can link his android phone to the same playfab account that is linked to his ipad. How do I locate that account? Can I search all accounts for my playfab title and filter on a facebook id. Once I have located the correct account, how to I make the call to authenticate and bind the new device to the account?
There's no need to link Facebook again - you already linked it on the iPad. Here's the flow:
Bob starts playing on iPad - you've created an account using Device ID, for zero friction to get him playing.
He then is incentivized to add his Facebook account, which you link to the PlayFab account.
Now, he goes to his Android phone and starts the game. One of the options on starting should be "already have an account? sign in with Facebook." He does, and so he's in the same PlayFab account. At that point, all you have to do is link the Android Device ID to the account.
2 People are following this question.