Проблема загрузки фотографий в facebooktoolkit и C # - PullRequest
1 голос
/ 07 июля 2011

Мне нужна помощь по интеграции Facebook в настольное приложение. Он разработан с C # - целевой платформой является .NET Framework 4.0. Я использую http://facebooktoolkit.codeplex.com/

Проблема в том, что я не могу получить альбомы пользователей, хотя у моего приложения есть разрешение на это, и чтобы все было более запутанно, я могу получить статусы, комментарии, друзей и т. Д. У меня есть это в конструкторе:

this.fbMyApp = new Facebook.Winforms.Components.FacebookService(this.components);
this.fbMyApp.ApplicationKey = "myappkey_goes_here";
this.fbMyApp.SessionKey = null;
this.fbMyApp.uid = ((long)(0));

И я использовал этот код (я установил все разрешения для целей тестирования):

fbMyApp.ConnectToFacebook(new List<Facebook.Schema.Enums.ExtendedPermissions>() { 
            Facebook.Schema.Enums.ExtendedPermissions.create_event,
            Facebook.Schema.Enums.ExtendedPermissions.create_note,
            Facebook.Schema.Enums.ExtendedPermissions.email,
            Facebook.Schema.Enums.ExtendedPermissions.offline_access,
            Facebook.Schema.Enums.ExtendedPermissions.photo_upload,
            Facebook.Schema.Enums.ExtendedPermissions.publish_stream,
            Facebook.Schema.Enums.ExtendedPermissions.read_mailbox,
            Facebook.Schema.Enums.ExtendedPermissions.read_stream,
            Facebook.Schema.Enums.ExtendedPermissions.rsvp_event,
            Facebook.Schema.Enums.ExtendedPermissions.share_item,
            Facebook.Schema.Enums.ExtendedPermissions.sms,
            Facebook.Schema.Enums.ExtendedPermissions.status_update,
            Facebook.Schema.Enums.ExtendedPermissions.video_upload
        });

Теперь, если я сделаю это (после того, как пользователь вошел в систему):

MessageBox.Show("TOTAL statuses: " + fbMyApp.Status.Get().Count.ToString());

Я получу количество пользовательских статусов и смогу их прочитать. Однако, если я сделаю это:

MessageBox.Show("TOTAL albums: " + fbMyApp.Photos.GetAlbums().Count.ToString());

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

1 Ответ

1 голос
/ 07 июля 2011

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

...