C # -Facebook-SDK WP7, принципы работы Facebook? - PullRequest
1 голос
/ 02 июля 2011

Извиняюсь, если это где-то, но я изо всех сил пытаюсь найти детали, которые мне нужны для wp7.

Я создал приложение на Facebook по мере необходимости и получаю токен доступа. Следующий код отправляет сообщения в Facebook, но я не могу получить ответ, и я не могу понять, как отслеживать ответ?

public bool fbUpload(string accessToken, Picture pic)
    {
        try
        {
            Stream s = null;
            s = PicturesLoader.LoadFileFromStorage(pic.Url);

            //Sets the byte array to the correct number of bytes
            byte[] imageData = new byte[s.Length];

            s.Read(imageData, 0, System.Convert.ToInt32(s.Length));

            FacebookApp app = new FacebookApp();
            IDictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("access_token", accessToken);
            parameters.Add("message", "TEST - WP7 application [upload pic and comment on wall...]");
            var mediaObject = new FacebookMediaObject { FileName = pic.Name, ContentType = "image/jpeg" };
            mediaObject.SetValue(imageData);

            parameters["source"] = mediaObject;
            FacebookAsyncResult postResult;
            FacebookAsyncCallback fbCB = new FacebookAsyncCallback();
            app.PostAsync(parameters, fbCB);



    return true;
        }
        catch (InvalidCastException ex)
        {
            return false;
        }
    }

Другой вопрос, который у меня возникает, заключается в том, как разрешить пользователям доступ на основе их собственной учетной записи Facebook. Я хочу сохранить данные учетной записи пользователя, чтобы они могли настроить данные учетной записи только один раз, а затем они могли бы использовать мое телефонное приложение для входа в систему?

1 Ответ

2 голосов
/ 03 июля 2011

Вы можете обработать результат публикации примерно так:

FacebookAsyncCallback callBack = new FacebookAsyncCallback(postResult);
fbApp.PostAsync(parameters, args, callBack);  

private void postResult(FacebookAsyncResult asyncResult)   
{
  // Do something with asyncResult here;
}

Что касается второго вопроса, вы должны запросить разрешения на доступ к этим данным.Вы обычно делаете это в вызове метода FacebookOAuthClient.GetLoginUrl(<appId>, null, <permissions>).
Как только это будет сделано, вы можете хранить файлы, на которые у вас есть разрешения, локально в вашем приложении.

...