2011-08-07 3 views
1

사람들이 트위터에서 로그인 할 수있는 웹 응용 프로그램이 있으며 기본 설정과 DOM 이벤트에 따라 트위터에서 상태를 업데이트해야합니다. 나는 서버 측에서이 작업을 수행하는 방법을 알고 있지만이 프로젝트에서는 서버 사이드 코드를 사용하지 않는다. 어떻게 자바 스크립트로 할 수 있는가? @anywhere twitter api와 twitter 의도는 나를 어디로 데려가 는가? 그들은 내가 원하지 않는 짹짹을 제출하는 것에 대해 사용자를 자극합니다.순수 자바 스크립트를 사용하여 사용자에게 메시지를 표시하지 않고 트위터 상태를 업데이트하십시오.

+1

소리가 남용을 기다리고 있습니다. 나는 트위터에 동의한다. – tjameson

답변

0

REST API에 대한 AJAX POST 요청으로이 작업을 수행 할 수 있어야합니다. 문서 : https://dev.twitter.com/docs/api/1/post/statuses/update

당신은 formatxml 또는 json, 그리고 하나가 응답의 형식을 반영 할 수있는 URL http://api.twitter.com/1/statuses/update.format을 대상. 필수 데이터는 상태 텍스트이며 여기에 나열되지 않는 몇 가지 선택적 매개 변수가 있습니다. 이것은 현재 인증 된 사용자에게만 적용됩니다. jQuery를 사용하여

(검증되지 않은) 예 :

var message = "This is a tweet, there are many like it but this one is mine"; 

$.ajax({ 
    type: "POST", 
    url: "http://api.twitter.com/1/statuses/update.json", 
    data: "status="+message, 
    datatype: "json" 
}); 
+0

아니, 작동하지 않습니다, 나는 인증 토큰을 HTTP 요청 헤더로 보내야한다고 생각합니다. $ .ajax() 메소드로 보내지는 것은 아닙니다. –

+0

조금 단순 해 보였습니다. oAuth 토큰은 헤더를 사용하여 보내지 않아야합니다. 사용자를 승인하고 필요한 모든 정보가 있다고 가정하면 https://dev.twitter.com/docs/auth/oauth#auth-request (여기에 설명 된 단계를 사용하여 액세스 토큰을 구성 할 수 있습니다. 쉬워야합니다!) – shanethehat

+0

@ShivDeepak : 저는 Ajax를 할 때 헤더를 멋지게 꾸밀 수 있습니다. – hugomg

3

순수 자바 스크립트 솔루션은 트위터 API를 소비하는 당신의 고객 비밀 키를 손상시키지 않고 수 없습니다. 트위터 API는 HMAC-SHA1 토큰을 사용하여 모든 요청을 인증하고, SHA1 토큰은 APN 계정에 트위터가 지정한 공용/개인 키를 사용하여 생성됩니다. 순수한 자바 스크립트 SHA1 구현을 사용하여이 토큰을 생성하려는 경우 누구나 볼 수있는 자바 스크립트 코드에 비공개 키를 노출한다는 의미입니다.

비록 기술적으로 가능하지만 (SHA1을 구현하는 자바 스크립트 라이브러리를 제공 할 수 있음에도 불구하고), 그럴 수는 없습니다.

FYI, jQuery.Ajax 메서드를 사용하면 beforeSend (jqXHR, settings) 메서드를 탭하여 ajax 요청의 헤더를 수정할 수 있습니다.

관련 문제