C# Facebook SDK Dapatkan Gambar Gambar Respons facebook tidak diketahui

Saya menggunakan C# Facebook SDK https://github.com/facebook-csharp-sdk/facebook-csharp-sdk diunduh dari Nuget di aplikasi MVC saya untuk mendapatkan Album publik dari halaman.

Semua permintaan berfungsi dengan baik kecuali satu, ketika saya mencoba mendapatkan sampul album.

var PictureUrl = "1713516952246958/picture";
var PictureResult = FB.Get(PictureUrl);

Ini memunculkan pengecualian "Respon facebook tidak dikenal."

Permintaan yang sama berfungsi di sini

https://developers.facebook.com/tools/explorer?method=GET&path=1713516952246958%2Fpicture&version=v2.7

Ada ide apa yang seharusnya menjadi masalah?


person Michael Samteladze    schedule 16.08.2016    source sumber


Jawaban (2)


Saya mempunyai masalah yang persis sama dan itu membuat saya gila.

Akhirnya saya berpikir untuk memeriksa dokumentasi: https://developers.facebook.com/docs/graph-api/reference/user/picture/

Pada dasarnya dikatakan: By default this edge will return a 302 redirect to the picture image. To get access to the data about the picture, please include **redirect=false** in your query.

Jadi kesalahan "respon facebook tidak dikenal" yang Anda dapatkan adalah karena alih-alih mengembalikan JSON yang valid, pengalihan 302 sebenarnya dikembalikan. Yang tentu saja tidak bisa diurai dengan benar

Jadi coba ubah kode Anda menjadi:

var PictureUrl = "1713516952246958/picture?redirect=false";
var PictureResult = FB.Get(PictureUrl);

Dan kamu harus bersikap manis!

person Sam Barber    schedule 19.10.2016
comment
Terima kasih banyak! - person user943369; 09.02.2017

Saya membuat permintaan dengan WebClient seperti ini:

        WebClient p = new WebClient();
        p.QueryString.Add("access_token", accessToken);

        string responseData = p.DownloadString("https://graph.facebook.com/v2.7/me/picture");

dan tanggapannya kembali dengan string data aneh yang memiliki beberapa \0001 dan kata "Photoshop 3.0" di dalamnya.

Tampaknya C# FaceBook SDK tidak mengetahui cara memproses respons terhadap rute API. Responsnya tampaknya berupa data biner dalam beberapa format dari Photoshop. Setiap kali saya mencoba permintaan dan memeriksanya dengan tukang pos atau browser, itu hanya menampilkan gambar sebagai isi permintaan, itu tidak menunjukkan pengkodean base64 apa pun seperti yang saya harapkan. Berikut adalah cuplikan layar kecil dari data aneh tersebut.

Ini mungkin fitur yang belum diimplementasikan dan perlu dilakukan di SDK.

person Derrick Granowski    schedule 04.09.2016