В качестве продолжения (OAuthException) (# 15) Метод, который вы вызываете, должен вызываться с секретным подписанным сеансом приложения. Я хочу знать, что такое эквивалент file_get_contents(). Я попробовал следующее, но получил ошибку illegal characters in path
.
public ActionResult About()
{
var fb = new FacebookWebClient(FacebookWebContext.Current);
var tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" + FacebookWebContext.Current.Settings.AppId + "&client_secret=" + FacebookWebContext.Current.Settings.AppSecret + "&grant_type=client_credentials";
var objReader = new StreamReader(tokenUrl);
string sLine = "";
var arrayList = new ArrayList();
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
arrayList.Add(sLine);
}
objReader.Close();
var appToken = arrayList.ToString();
dynamic result = fb.Post(string.Format("{0}/accounts/test-users", FacebookWebContext.Current.Settings.AppId),
new { installed = false, permissions = "read_stream", access_token = appToken });
return Content(result.ToString());
}
Я также пробовал System.IO.File.ReadAllText(tokenUrl)
, и я получил ту же ошибку. Есть ли что-нибудь, что я могу сделать?
Я даже не уверен, что это сработает, но по крайней мере я могу попробовать...
Чтобы использовать oauth/access_token или любые методы, связанные с файлами oauth, используйте FacebookOAuthClient, а не FacebookClient или FacebookClient.
FacebookOAuthClient.GetApplicationAccessToken(..)
FacebookOAuthClient.ExchangeCodeForAccessToken(..)
Вы можете использовать WebClient.DownloadString
для загрузки текста с URL-адреса. WebClient также поддерживает проверку подлинности.
Кроме того, чтобы разделить строку на строки, вы можете использовать:
string test;
string[] lines = test.Split('\n');