2010-02-20 6 views
0

피드 (예 : 트위터)를 풀고 javascript (jquery)를 사용하여 페이지에 배치하려고합니다. 궁극적으로 "서비스"는 JSON을 전달하면됩니다. 나는 그렇게 할 수있는 웹 서비스를 만들었다. 스트림 리더기를 사용하는 것이 모두 효율적인지, 고객 측에서 2 개의 증거를 사용하는 데 약간의 어려움이 있었는지 나는 알지 못합니다.크로스 사이트 스크립팅을위한 웹 서비스 사용

내 질문에 두 가지가 있습니다. 웹 서비스를 사용하는 것보다 더 좋은 방법이 있고 두 가지가 있습니다. 구현에 문제가 있습니까?

이 .asmx : 귀하의 질문에

[WebMethod] 
public string HelloWorld() 
{ 
    WebRequest request = WebRequest.Create("http://twitter.com/statuses/user_timeline/username.json?count=1"); 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
    StreamReader reader = new StreamReader(response.GetResponseStream()); 
    string tmp = reader.ReadToEnd(); 
    response.Close(); 
    reader.Close(); 
    return tmp; 
} 

에서 .aspx

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script> 
<script> 
    $(document).ready(function() { 
     $.ajax({ 
      url: "WebService1.asmx/twitter", 
      type: "POST", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(obj) { 
       var t = eval(obj.d)[0].text; 
       $('div').html(t); 
      } 
     }) 
    }); 
</script> 

답변

1

2 부 대답. 1 차 사용

System.Net.WebClient client = new System.Net.WebClient(); 
string twitterFeed = client.DownloadString("http://twitter.com/statuses/user_timeline/username.json?count=1") 

이렇게하면 초과 된 코드 줄을 모두 제외하고 문자열을 반환합니다.

두 번째 twitter api는 json을 반환하는 웹 서비스입니다. 따라서 휠을 다시 만들 필요가 없습니다. Here은 멋진 기사이며 jquery-twitter library이므로 쉽게 타임 라인을 얻을 수 있습니다.

$.twitter.user_timeline('username', function(resp){ 
    $('body').append(' 

'+this.user.name+': '+this.text+' 

'); 
}); 
+0

첫 부분은 훨씬 깨끗합니다. 감사. 저 jquery 도서관은 경편 할 것이다 그러나 나는보기에서 twitter를 포함하여 산만 할지도 모른다 짐작한다. 난 정말 크로스 도메인 솔루션을 만들려고합니다. 트위터는 그냥 쉬웠다. 그러나 어쩌면 나는 이것을 과소 평가할 것입니다. 서비스가 json에게 서비스를 제공한다면 클라이언트 측 라이브러리 만 있으면됩니다. – LeRoy

+0

서버 쪽 요청은 인증이 필요하고 스크립트에 암호를 남기지 않으려는 경우에 유용합니다. –

+0

나는 폴이 말한 것 외에는 자바 스크립트에 자격 증명을 저장하고 싶지 않을 수도 있다고 생각할 것이다. – awright18

0

서버 측 코드가 실제로 아무 것도하지 않습니다. 클라이언트에서 트위터 API를 직접 호출하지 않는 이유는 무엇입니까?

+0

요청을 크로스 도메인으로 만들기 위해 서버 구성 요소가 필요하다는 인상을 받았습니다. 나는 트위터 이상의 계획을 가지고있다. – LeRoy