C # эквивалент file_get_contents (PHP)

2

В качестве продолжения (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), и я получил ту же ошибку. Есть ли что-нибудь, что я могу сделать?

Я даже не уверен, что это сработает, но по крайней мере я могу попробовать...

  • 2
  • 0
    Этот метод сильно устарел
Показать ещё 3 комментария
Теги:
facebook
inputstream
facebook-c#-sdk

2 ответа

1
Лучший ответ

Чтобы использовать oauth/access_token или любые методы, связанные с файлами oauth, используйте FacebookOAuthClient, а не FacebookClient или FacebookClient.

FacebookOAuthClient.GetApplicationAccessToken(..)
FacebookOAuthClient.ExchangeCodeForAccessToken(..)
  • 0
    Спасибо за ответ. Я ценю это. Кстати, вы, ребята, планируете разместить больше документации на странице кодекса? Я считаю, что некоторые документы устарели? Тем не менее, отличная работа :)
4

Вы можете использовать WebClient.DownloadString для загрузки текста с URL-адреса. WebClient также поддерживает проверку подлинности.

Кроме того, чтобы разделить строку на строки, вы можете использовать:

string test;
string[] lines = test.Split('\n');
  • 0
    Что за дерьмовая реализация на странице, на которую вы ссылаетесь - поддерживает только HTTP, предполагает, что все остальное является локальным файлом, и предполагает самую древнюю и бесполезную из существующих кодировок (а именно ASCII)!
  • 1
    Оригинальный постер использует http (s) и кодировку, возвращаемую веб-сайтом. Это очень простая в использовании реализация.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню