When your Clash of Clans say your Facebook is disconnected, it's usually because your authentication/access token (the one given to Supercell and your client when you were prompted for authentication) has expired. It expires when one of the following happens:

  * Your Facebook password was changed.
  * You manually chose to deauthorize the app (in your [Apps page](https://www.facebook.com/games/manage)), simply click the cog wheel and refer to the pop-up box.
  * Expires after some time.
    <!-- Facebook did not specify how long. -->

You can read up more about Authentication tokens [on the Facebook Developers' page](https://developers.facebook.com/docs/facebook-login/access-tokens).

<hr>

As for linking with Facebook - It is not possible, as Facebook does not allow for apps to store identification data (not access tokens, client IDs or changable account identifiers), but actual static identifiers (like a [SteamID](https://developer.valvesoftware.com/wiki/SteamID)).

So, there is no way to restore without using Games Center (for iOS) or logging with a Google Play (Android) account, as these services do allow the game (or for *Clash of Clans*' case; their servers) to store a static identifier ID.

<hr>

Lastly, as for the game saying you're constantly getting disconnected, are you:

  1. Constantly changing your password/deauthorizing apps?
  2. Not using the Facebook app or Safari (for iOS), or using the in-built browser(for Android) to do the authentication?

If so, you may want to consider using Safari (for iOS), or for Android devices, a modern browser such as [Google Chrome](https://play.google.com/store/apps/details?id=com.android.chrome&hl=en) or [Mozilla Firefox](https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=en).  
<!-- Links are both to the Google Play store. Not the PC; desktop version! -->
Alternatively, it's the safest to use the Facebook app for both device types as Facebook stores the data on the app too, along with logging-in not being a hassle (in case of cross-browser/app errors).