2011-01-24 15 views
6

मैं वर्तमान में फेसबुक एपीआई और सी # का उपयोग कर रहा हूं।सी # और फेसबुक एपीआई

जो मैं करने की कोशिश कर रहा हूं वह किसी ईवेंट को एक छवि अपलोड कर रहा है।

मैंने दो तरीकों की कोशिश की है, लेकिन न ही काम करने लगते हैं। क्या कोई कृपया एक नज़र डालें।

विधि 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}[email protected]{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

जब आप कहते हैं कि यह काम नहीं करता है, तो क्या आपको कोई त्रुटि मिलती है? –

+0

विधि 1 के लिए 400 खराब अनुरोध, विधि 2 बस चलता है लेकिन मुझे फेसबुक पर कोई छवि नहीं मिलती है। उम्मीद है की यह मदद करेगा। – Robert

+0

निम्नलिखित प्रश्न मदद की जा सकती है: http://stackoverflow.com/questions/4210746/c-facebook-graph-how-to-upload-to-album-id। –

उत्तर

1

अरे रॉबर्ट, यह सुनिश्चित नहीं है कि यह क्या कारण है, लेकिन उदाहरण 1 में ऐसा लगता है कि आप जेपीजी नाम पर एक स्ट्रिंग अक्षर का उपयोग करने की कोशिश कर रहे हैं, लेकिन यदि ऐसा है, तो @ प्रतीक को उद्धरण के बाहर होना चाहिए ...

@ "गुड मॉर्निंग" // एक स्ट्रिंग शाब्दिक

0

ऐसा लगता है कि आप केवल अपलोड करने के लिए तस्वीर के फ़ाइल नाम गुजर रहे हैं। क्या आप एक पुस्तकालय का उपयोग कर रहे हैं जो डिस्क से वास्तविक फोटो सामग्री को पढ़ेगा? यदि नहीं, तो आपको खुद को ऐसा करने और अनुरोध पर सामग्री लिखने की आवश्यकता होगी।

अनुरोध में फोटो सामग्री लिखने का प्रारूप आपके द्वारा लिखे गए एपीआई की अपेक्षाओं पर निर्भर करेगा (बहु-भाग, आदि)।

+0

Thats क्या विधि 2 करने की कोशिश कर रहा है। – Robert

+0

@Robert - विधि 2 में, मुझे नहीं लगता कि आप वास्तव में फ़ाइल सामग्री कहां लिख रहे हैं। मैं फ़ाइल नाम लिख रहा हूं, लेकिन वास्तव में फ़ाइल सामग्री नहीं लिख रहा हूं। –

संबंधित मुद्दे