Token akses facebook juga terlihat serupa "1249203702 | 2.h1MTNeLqcLqw __. 86400.129394400-605430316 | -WE1iH_CV-afTgyhDPc"
jika Anda mengekstrak bagian tengah dengan menggunakan | untuk memisahkan Anda
2.h1MTNeLqcLqw __. 86400.129394400-605430316
kemudian bagi lagi dengan -
bagian terakhir 605430316 adalah id pengguna.
Berikut adalah kode C # untuk mengekstrak id pengguna dari token akses:
public long ParseUserIdFromAccessToken(string accessToken)
{
Contract.Requires(!string.isNullOrEmpty(accessToken);
long userId = 0;
var accessTokenParts = accessToken.Split('|');
if (accessTokenParts.Length == 3)
{
var idPart = accessTokenParts[1];
if (!string.IsNullOrEmpty(idPart))
{
var index = idPart.LastIndexOf('-');
if (index >= 0)
{
string id = idPart.Substring(index + 1);
if (!string.IsNullOrEmpty(id))
{
return id;
}
}
}
}
return null;
}
PERINGATAN:
Struktur token akses tidak berdokumen dan mungkin tidak selalu sesuai dengan pola di atas. Gunakan dengan resiko Anda sendiri.
Perbarui
Karena perubahan di Facebook. metode yang disukai untuk mendapatkan userid dari token akses terenkripsi adalah sebagai berikut:
try
{
var fb = new FacebookClient(accessToken);
var result = (IDictionary<string, object>)fb.Get("/me?fields=id");
return (string)result["id"];
}
catch (FacebookOAuthException)
{
return null;
}