2014-03-30 5 views
1

예외가 계속 발생합니다 원격 서버에서 오류를 반환했습니다 : (400) 잘못된 요청입니다.HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;에 올 때마다. 누군가 나를 도울 수 있습니까? 여기 내 코드가있다. 그건 그렇고, 그것은 HTML 콘텐츠가 아닌 단지 하나의 aspx입니다. 또한 새 프로젝트를 만드는 간단한하여이 코드를 시도하고 그냥 CS 파일이 삽입 웹 양식을 만들 수 있습니다Facebook 웹 API 예외

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Net; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Facebook; 

namespace Facebook_API 
{ 
public partial class Facebooksync : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     CheckAuthorization(); 
    } 

    private void CheckAuthorization() 
    { 
     string app_id = "1234567891234567"; //Just placed this digits to keep this hidden 
     string app_secret = "12345678912345678912345678912345"; //Just placed this digits to keep this hidden 
     string scope ="publish_stream,manage_pages"; //Scope are the permissions 
     if(Request["code"] == null) 
     { 
      Response.Redirect(String.Format(
       "https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}", 
       app_id, Request.Url.AbsoluteUri, scope)); 
     } 
     else 
     { 
      Dictionary<string, string> tokens = new Dictionary<string, string>(); 

      string url = string.Format(
       "https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret{4}", 
       app_id, Request.Url.AbsoluteUri, scope, Request["code"].ToString(), app_secret); 

      HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 

      using(HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
      { 
       StreamReader reader = new StreamReader(response.GetResponseStream()); 
       string vals = reader.ReadToEnd(); 

       foreach(string token in vals.Split('&')) 
       { 
        tokens.Add(token.Substring(0, token.IndexOf("=")), 
        token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1)); 
       } 
      } 

      string access_token = tokens["access_token"]; 

      var client = new FacebookClient(access_token); 
      client.Post("/me/feed", new { message = "Testing Facebook WebAPI " }); 
     } 
    } 
} 

: 그냥 순수 C#을 파일입니다.

답변

0

왜 대신 일반 GET 요청

request.Method = "Put"; 

을 사용하고 있습니까?

+0

미안하지만 처음에는 거기에있을 수 없었습니다. 내가 그것을 제거 게시물을 편집했습니다. – Xtian