Использование BackgroundTransferRequest для загрузки фотографий в Facebook с Graph API - PullRequest
0 голосов
/ 03 января 2012

Я пытаюсь загрузить фотографии из Windows phone (манго) в Facebook с объектом BackgroundTransferRequest. Это потому, что я хочу загружать фотографии, даже если приложение не запущено.

Я использую Facebook C # SDK для получения токена доступа и т. Д., И это прекрасно работает, но для загрузки с помощью этого нам нужно поддерживать приложение активным.

Я могу использовать fiddler и создать запрос Post с токеном доступа и загрузить изображение в facebook в альбом. https://graph.facebook.com/178040612256938/Photos/?access_token=AAACEdEose0cBAA4p0Ozqj0H39RP2tGyxdq0LAxoADyBZCPgjgrXMwU93VAOVkulemC3ZC5lVZCTiJ3rYeFXtM67tYNEZBvPQmasbT9AvX

Теперь вот мой код, который я взял здесь из примера - http://msdn.microsoft.com/en-us/library/hh202959(v=vs.92).aspx

Я не уверен, как добавить заголовки, которые добавляет fiddler, ИЛИ как использовать это для загрузки фотографий в FB. получая 400 в качестве ответа. В настоящее время следующий код может загрузить фотографию в мой сервис WCF.

также посмотрел - BackgroundTransferRequest WP7

IsolatedStorageFileExtensions.SavePicture (Path.Combine (TransfersFiles, picture.FileName), picture.Data);

        string fbURL = @"https://graph.facebook.com/106216062727932/Photos/?access_token=AAACEdEose0cBAA4p0Ozqj0H39RP2tGyxdq0LAxoADyBZCPgjgrXMwU93VAOVkulemC3ZC5lVZCTiJ3rYeFXtM67tYNEZBvPQmasbT9AvD";

        var transferRequest = new BackgroundTransferRequest(new Uri(fbURL, UriKind.Absolute));


        if (!_wifiOnly)
        {
            transferRequest.TransferPreferences = TransferPreferences.AllowCellular;
        }
        if (!_externalPowerOnly)
        {
            transferRequest.TransferPreferences = TransferPreferences.AllowBattery;
        }
        if (!_wifiOnly && !_externalPowerOnly)
        {
            transferRequest.TransferPreferences = TransferPreferences.AllowCellularAndBattery;
        }

        //this is the place to upload to Facebook

        transferRequest.Method = "POST";

        //_OLD transferRequest.UploadLocation = new Uri(TransfersFiles + @"\" + picture.FileName, UriKind.Relative);

        transferRequest.UploadLocation = new Uri(TransfersFiles + @"\" + picture.FileName, UriKind.Relative);

        string boundary = DateTime.Now.Ticks.ToString("x", CultureInfo.InvariantCulture);
        //---



        transferRequest.TransferStatusChanged += OnTransferStatusChanged;
        transferRequest.TransferProgressChanged += OnTransferProgressChanged;

        BackgroundTransferService.Add(transferRequest);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...