[英]C# & Facebook API
我目前正在使用Facebook API和C#。
我要做的是將圖像上傳到活動。
我嘗試了兩種方法,但似乎都沒有用。 有人可以看看。
方法1
Dictionary<string, string> args = new Dictionary<string, string>();
string source = "@test.jpg";
string relpath = "/1234456789/photos";
args.Add("message", "sssssss");
args.Add("access_token", api.AccessToken);
args.Add("source", source);
api.Post(relpath, args);
方法2
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("http://graph.facebook.com/1234456789/photos"));
request.ContentType = "multipart/form-data";
request.Method = "POST";
string path = HttpUtility.UrlEncode("test.jpg");
request.BeginGetRequestStream(ar =>
{
using (StreamWriter writer = new StreamWriter((ar.AsyncState as HttpWebRequest).EndGetRequestStream(ar)))
{
writer.Write("{0}={1}&", "message", HttpUtility.UrlEncode("Test"));
writer.Write("{0}=@{1}&", "source", path);
writer.Write("{0}={1}", "access_token",
api.AccessToken);
}
}, request);
方法3
WebClient client = new WebClient();
byte[] responseBinary = client.UploadFile("http://localhost:61689/Widgets/test2.aspx", "POST", @"C:\test.jpg");
string response = Encoding.UTF8.GetString(responseBinary);
Dictionary<string, string> args = new Dictionary<string, string>();
string relpath = "https://graph.facebook.com/me/picture";
args.Add("message", "sssssss");
args.Add("access_token", GetAccessToken(code));
args.Add("source", response);
api.Post(relpath, args);
在方法3中,我正在嘗試創建響應並寫入。 我收到了400個不好的請求。
圖像'test.jpg'目前位於我的網站根目錄中,與調用它的頁面相同。
嘿羅伯特,不確定這是否是導致它的原因,但是在示例1中看起來你試圖在JPG名稱上使用字符串文字,但如果是這樣,@符號需要在引號之外...
@“早上好”//一個字符串文字
看起來您只是傳遞要上傳的照片的文件名。 您是否使用可從磁盤讀取實際照片內容的庫? 如果沒有,您需要自己完成並將內容寫入請求。
將照片內容寫入請求的格式取決於您要寫入的API的期望(多部分等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.