2013-12-22 5 views
3

나는 Meteor와 Twitter API를 처음 접하는 초보자에게 새로운 사람이다. 데모 용도로만 Meteor에서 간단한 응용 프로그램을 만들고 있습니다. Twitter에서 특정 해시 태그를 검색 할 수 있어야합니다. 해시 태그를 사용하여 트윗을 가져 와서 목록에 표시 할 수 있어야합니다. 슈퍼 간단합니다.Twitter API 1.1 Oauth w/Meteor

내 앱, 수신 된 키 등을 등록했습니다. Oauth를 시작하기 전부터 트위터 검색 결과를받는 코드 흐름의 예를 살펴볼 필요가 있습니다.

이 앱을 로컬로 실행할 예정이며 GET 요청을 보내고 RESTful 응답을받을 수 있어야합니다.

보안 위험 때문에 jQuery가 어떻게 지원되지 않는지에 대한 문서를 보았습니다. 백엔드가 JS이므로 JS로이 작업을 수행 할 수 있어야합니다.

코드 예제를 볼 수있는 곳에서 누구에게 문서를 제안 할 수 있습니까?

답변

1

이 정확한 문제를 해결하기 위해 의도 된 운석 라이브러리가있다.

https://github.com/subhog/meteor-twit

사용 설명서 따를 수 있습니다 : 아래

https://github.com/ttezel/twit

몇 가지 예제 코드입니다 : 정보 주셔서

if (Meteor.isServer) { 
    Meteor.methods({ 
     twit_get: function() { 
      Twit = new TwitMaker({ 
       consumer_key: 'foo', 
       consumer_secret: 'foo', 
       access_token: 'foo', 
       access_token_secret: 'foo' 
      }); 

      Twit.get(
       'search/tweets', 
       { 
        q: 'banana since:2013-12-11', 
        count: 10 
       }, 
       function(err, reply) { 
        console.log(reply); 
       }); 
     } 
    }); 
} 
+2

질문 제목은 실제로/jQuery가 아니라 Meteor이기 때문에 변경해야하며이 방법은 node.js를 사용하는 서버 측에서만 작동합니다. –

2

좋은 질문입니다. 원하는 내용과 같은 Twitter 1.1 API requires oAuth tokens even for simple GET 요청이 맞습니다. 예, twitter dev site의 oAuth 키와 비밀번호를 요청하면 로컬로 실행되는 프로젝트에 과도한 것처럼 보일 수 있지만 모든 API 끝점에 필요합니다.

oAuth 고객 키와 비밀번호가 있으면 API 호출이 설정됩니다. 지저귐 dev에 사이트에 캐주얼 검색 JQuery를 통해 oAuth creds를 보내는 것은 보안상의 이유로 트위터에 의해 지원되지 않습니다 제안합니다. 그 내용은 here에 대해 자세히 읽을 수 있습니다.

트위터 데이터로해야 할 일이 확실하지 않으므로 oAuth에 대한 코드 샘플을 포함하지 않을 것입니다. 그 동안 솔루션을 구현하는 방법에 대해 생각할 때 how oAuth works을 확인하십시오. PHP? 파이썬? 루비? 아마도 이러한 oAuth code samples from Twitter은 좋은 출발점입니까?

+0

감사합니다 - 내가 등록 할 필요 두려워했다 지역 앱. Meteor를 스택으로 사용하고 있으므로 JS/jQuery를 사용할 수 있어야합니다. 확실하게 이것은 가능합니다 ... – Rico

+1

누군가가 유성과 함께이 문제를 전에 가진 것처럼 보입니다 : http://stackoverflow.com/questions/13273235/how-to-post-a-tweet-with-meteor-js-twitter-and -autauth 이 정보가 유용할까요? –

3

트위터 API (2013 년 5 월)의 v1.1부터 OAuth를 사용하여 승인받지 않고 검색 할 수 없습니다.

간단한 방법으로 클라이언트 쪽을 수행하려는 경우 OAuth.io을 사용할 수 있습니다. 난 그냥 트위터 API

코드를 사용하여 간단한 검색을 할 an example in jsfiddle을했습니다

은 매우 간단합니다 :

//Initialize the SDK with my OAuth.io public key, then display the OAuth authorization form 
OAuth.initialize('YOUR-PUBLIC-KEY') 
OAuth.popup('twitter', function(err, twitter) { 
    var search = encodeURIComponent("@oauth.io") 
    twitter.get('/1.1/search/tweets.json?q=' + search) 
      .done(function(data) { 
     console.log(data); //your search results are in data 
    }) 
})