본문 바로가기
앱인벤터/앱인벤터 컴포넌트

앱인벤터 트위터 컴포넌트

by flycoding 2022. 6. 1.
반응형

앱인벤터 트위터 컴포넌트

앱인벤터의 컴포넌트들을 이해와 실제 예제를 통해 실습을 통해 모바일 앱 개발에 활용도를 높이고자 한다

트위터 컴포넌트는 보이지 않는 컴포넌트이다. 그리고 twitter와 통신이 가능한 기능으 제공한다. 일단 사용자가 IsAuthorized 이벤트에 의해서 성공적으로 인증이 확인되고 트위터 계정으로 로그인을 하였다면 아래와 같은 더 많은 기능 등을 사용할 수 있다.

   * 괄호 안에 한글은 앱입벤터에서 한글이름의 메소드 이름을 표기한 것이다.

 

  . 트윗이나 레이블에 대한 트우터 검색기능(SearchTwitter)

  . 하나의 트윗 보내기(Tweet, 트윗)

  . 이미지와 함께 트윗하기(TweetWithImage, 이미지와함께트윗하기)

  . 특정 사용자에게 쪽지요청하기(DirectMessage, 쪽지)

  . 로그인된 사용자에게 직접 최근의 메시지를 수신하기(RequestDirectMessages, 쪽지요청하기)

  . 특정 사용자 팔로우(Follow, 팔로우)

  . 특정 사용자 팔로우 중단하기(StopFollowing, 언팔로우)

  . 로그인된 사용자를 팔로우하는 사용자 리스트를 얻기(RequestFollowers, 팔로워요청하기)

  . 로그인된 사용자에 의해서 팔로우되는 사용자의 가장 최근의 메시지 얻기(RequestFriendTimeline, 친구타임라인요청하기)

  . 로그인된 사용자의 가장 최근의 메시지 얻기(RequestMentions, 멘션요청하기)

 

http://twitter.com/oauth_clients/new사이트로부터 우리가 만든 앱에 트위터 인증을 위해서는 컨슈머 키와 컨슈머 시크릿을 포함해야만 한다. 아래의 글을 참고하면 된다.

 

https://flycoding.tistory.com/entry/%ED%8A%B8%EC%9C%84%ED%84%B0-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EA%B3%84%EC%A0%95-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

 

간단한 트위터 앱을 만들어보자. 먼저 로그인을 위해 사용자와 비밀번호를 넣고, 트윗 등을 확인하는 기능을 만들어 보자.

 

트위터 컴포넌트

팔레트의 소셜 부분에서 트위터 컴포넌트는 보이지 않는 컴포넌트로, 뷰어에 drag&drop하면 화면에는 아무것도 표시되지 않는다.  트위터 컴포넌트를 활용하여 간단한 트위터 앱을 만들어보자.

 

이에 필요한 컴포넌트는 트위터 컴포넌트, 레이블 2개와 텍스트박스 2개 그리고 트윗을 요청하는 버튼과 레이블로 트윗의 내용을 표시해보는 앱을 만들어보자.

 

팔레트

트위터 컴포넌트는 '소셜'에 있다. 트위터 컴포넌트를 오른쪽 뷰어에 Drag&Drop하면 추가된다.

 

뷰어

컴포넌트들을 추가했을 때, 기본적으로 사각형이 뷰어 화면에 출력된다.

뷰어에는 보이는 않는 컴포넌트로 트위터와 레이블, 버튼, 텍스트박스 컴포넌트 등으로 구성되어 있다. 

 

컴포넌트

 

컴포넌트에는 Screen1아래에 공유, 카메라, 버튼, 텍스트박스 및 수평배치 컴포넌트를 활용한다.

- 트위터 컴포넌트

- 카메라 컴포넌트 : 이미지를 트윗 용도

- 이미지 컴포넌트 : 카메라로 찍은 사진 저장하는 용도

- 버튼 컴포넌트 5개

    . 인증하기 버튼

    . 사진찍기 버튼

    . 트윗 버튼

    . 타임라인 요청하기 버튼

    . 팔로워 요청하기 버튼

    . 멘션 요청하기 버튼

- 텍스트박스 컴포넌트 : 트윗 문자역 입력 용도

- 레이블 컴포넌트 : '보여주기', '내용...' 텍스트 보여주는 레이블 컴포넌트

- 수평배치 2개 컴포넌트

 

앱인벤터 트위터 컴포넌트 활용 예제

 

트위터 컴포넌트 속성값

앱인벤터 트위터 컴포넌트 속성값에는 컨슈머키와 컨슈머시크릿 속성값이 있다. 

 

컨슈머키 속성값은 OAuth를 통해 트위터에 인증할 때 사용되는 키값이다.

컨슈머시크릿 속성값은 OAuth를 통해 트위터에 인증할 때 사용되는 값이다.

컨슈머키와 컨슈머시크릿은 별도의 글을 통해 생성하는 방법을 공유할 것이다.

 

** 컨슈머키와 컨슈머시크릿 값을 받는 과정은 별도로 문서로 작성해서 공유할 예정이다.

 

 

앱인벤터 트위터 컴포넌트 속성값

 

속성값에는 없지만, 기타 필요한 속성값들은 아래와 같다,.

 

쪽지(DirectMessages)

. 로그인한 사용자를 언급하는 가장 최근의 메시지 목록을 포함한다. 최초에는 비어있다. 이를 설정하기 위해서, 프로그래머는 아래와 같은 작업을 해야 한다.

  1. 인증하기(Authorize) 메소드를 호출한다.

  2. 인증을받았을때(IsAuthorized) 이벤트를 기다린다.

  3. 쪽지요청하기(RequestDirectMessages) 메소드를 호출한다.

  4. 쪽지를받았을때(DirectMessageReceived) 이벤트를 기다린다.

쪽지(DirectMessages) 속성값은 조회된 쪽지(DM)의 목록으로 채워질 것이다.

 

팔로워(Followers)

. 이 속성값은 로그인된 사용자의 팔로워의 목록을 포함한다. 초기에는 비어있고 사용자가 채우기 위해서는 아래와 같은 작업을 해야만 한다.

  1. 인증하기(Authorize) 메소드를 호출한다.

  2. 인증을받았을때(IsAuthorized) 이벤트를 기다린다.

  3. 팔로워요청하기(RequestFollowers) 메소드를 호출한다.

  4. 팔로워를받았을때(FollowersReceived) 이벤트를 기다린다.

팔로워를받았을때(FolowersReceived) 이벤트를 수신하면 팔로워(Followers)의 속성값에 팔로워의 목록이 설정될 것이다.

 

친구타임라인(FriendTimeLine)

팔로우된 사용자의 가장 최근의 20개의 메시지를 포함한다. 초기에 이 리스트는 비어 있다. 이를 설정하기 위해서 프로그래머는 아래와 같은 절차를 통해 설정할 수 있다.

  1. 인증하기(Authorize) 메소드를 호출한다.

  2. 인증을받았을때(IsAuthorized) 이벤트를 기다린다.

  3. 팔로우(Follow) 메소드로 하나 이상 호출하여 팔로우한 사용자를 특정한다.

  4. 친구타임라인(RequestFriendTimeLine) 메소드를 호출한다.

  5. 친구타임라인을받았을때(FriendTiemlineReceived) 이벤트를 기다린다.

친구타임라인을받았을때(FriendTimelineRecedived) 이벤트를 수신한 경우에 친구타임라인(FriendTimeLine) 값에 메시지 목록이 채워진다.

 

검색결과(SearchResults)

검색결과(SearchResults) 값을 채우기 위해서는 

  1. 트위터검색하기(SearchTwitter) 메소드를 호출한다.

  2. 검색이성공했을때(SearchSuccessful) 이벤트를 기다린다.

이벤트가 수신되면 검색결과(SearchResults) 값에 값이 채워진다.

트위터검색하기(SearchTwitter)을 호출하기 전에 이 메소드는 인증하기(Authorize)를 할 필요가 없다.

 

사용자이름(UserName)

인증된 사용자의 사용자 이름 값이다. 만일 인증된 사용자가 없다면 비어 있다.

 

트위터 컴포넌트 이벤트 블럭들

트위터 컴포넌트 이벤트 블럭에는 쪽지를받았을때, 팔로워를받았을때, 친구타임라인을받았을때, 인증을받았을때, 멘션을받았을때, 검색이성공했을때 블럭이 있다.

 

. 트위터 컴포넌트 쪽지를받았을때 블럭

쪽지요청하기(RequestDirectMessages)를 통해 요청된 최근의 메시지가 조회되었을 때 발생되는 이벤트이다. 메시지 목록은 '쪽지를받았을때 블럭의 인자값으로 전달된다.

 

앱인벤터 트위터 컴포넌트 쪽지를받았을때 블럭

 

. 트위터 컴포넌트 팔로워를받았을때 블럭

팔로워요청하기(RequestFollowers)를 통해 요청된 로그인된 사용의 모든 팔로워가 조회될 때 호출이 된다. 팔로워의 목록은 '팔로워를받았을때' 이벤트 블럭의 인자값으로 전달된다.

 

앱인벤터 트뤼터 컴포넌트 팔로워를받았을때 블럭

 

. 트위터 컴포넌트 친구타임라인을받았을때 블럭

친구타임라인요청하기(RequestFriendTimeline)을 통해 요청된 메시지가 조회되었을 때 발생되는 이벤트이다.  '타임라인' 인자와 친구타임라인(FriendTimeline) 속성값은 리스트들의 리스트에 포함될 것이다.

 

앱인벤터 트위터 컴포넌트 친구타임라인을받았을때 블럭

 

. 트위터 컴포넌트 인증을받았을때 블럭

인증하기(Authorize)가 호출된 후에, 만약 인증에 성공하였다면  발생하는 이벤트이다. '인증을받았을때' 블럭은 만일 타당한 접근 토큰을 이미 가지고 있다면 인증확인하기(CheckAuthorized)가 호출되었을 때에도 또한 호출될 것이다. '인증을받았을때' 블럭이 호출된 후에는 임의의 어떤 메소드로 호출될 수 있다.

 

앱인벤터 트위터 컴포넌트 인증을받았을때 블럭

 

 . 트위터 컴포넌트 멘션을받았을때 블럭

멘션요청하기(RequestMentions)를 통해 요청된 로그인된 사용자의 멘션을 조회하였을 때, 호출되는 이벤트 블럭이다. '멘션을받았을때' 블럭을 통해  '멘션리스트'가 인자값으로 전달된다.

 

앱인벤터 트위터 컴포넌트 멘션을받았을때 블럭

 

 . 트위터 컴포넌트 검색이이성공했을때 블럭

트위터검색하기(SearchTwitter) 호출을 통해 요청된 검색 결과가 조회되었을 때 호출이 되는 이벤트 블럭이다. 인자값으로는 '검색결과'가 결과 몱록값으로 전달된다.

 

앱인벤터 트위터 컴포넌트 검색이성공했을때 블럭

 

트위터 컴포넌트 호출 블럭들

트위터 컴포넌트 호출 블럭에는 인증하기, 인증확인하기, 인증취소하기, 쪽지, 팔로우, Login, 쪽지요청하기, 팔로워요청하기, 친구타임라인요청하기, 멘션요청하기, 트위터검색하기, 언팔로우, 트윗하기, 이미지와함께트윗하기 블럭이 있다.

 

. 트위터 컴포넌트 인증하기 블럭

만일 아직 인증이 되지 않았다면 OAuth 프로토콜을 사용하여 Web 브라우저를 통해 Twitter에 로그인하도록 사용자를 리디렉션한다.

 

앱인벤터 트위터 컴포넌트 인증하기 블럭

 

. 트위터 컴포넌트 인증확인하기 블럭

트위터에 접근이 이미 가능한지를 확인하기 위해 사용된다. 

 

앱인벤터 트위터 컴포넌트 인증확인하기 블럭

 

. 트위터 컴포넌트 인증취소하기 블럭

지금 동작중인 앱으로부터 트위터 인증을 삭제한다. 더 이상 트위터의 동작을 활용할 수 없다.

 

앱인벤터 트위터 컴포넌트 인증취소하기 블럭

 

. 트위터 컴포넌트 쪽지 블럭

특정 사용자에게 쪽지(비밀메시지)를 전송하는 블럭이다. 만약 160문자 이상이면 메시지를 잘려질 것이다. 

Requirements : 이 메시지는 인증하기를 한 후에 호출이 가능한다.(즉 사용자가 트위터에 로그인이 성공하였을 경우에 사용이 가능하다)

 

앱인벤터 트위터 컴포넌트 호출 블럭

 

. 트위터 컴포넌트 팔로우 블럭

임의의 사용자를 팔로우를 시작하기 위해서 호출된다.

 

앱인벤터 트위터 컴포넌트 팔로우 블럭

 

. 트위터 컴포넌트 Login 블럭

트위터에 로그인하기 위해 사용되는 블럭으로 인자값으로 사용자이름과 비밀번호를 갖는다.

앱인벤터 트위터 컴포넌트 Login 블럭

 

. 트위터 컴포넌트 쪽지요청하기 블럭 

로그인된 사용자에게 최근의 20개 쪽지를 요청하는 블럭이다.

 

앱인벤터 트위터 컴포넌트 쪽지요청하기 블럭

 

. 트위터 컴포넌트 팔로워요청하기 블럭

나를 팔로워하는 사람이 누구인지 얻는 블럭이다.

 

앱인벤터 트위터 컴포넌트 팔로워요청하기

 

. 트위터 컴포넌트 친구타임라인요청하기 블럭

사용자 타임라인에 최근 20개의 메시지를 얻는 블럭이다.

 

앱인벤터 트위터 컴포넌트 친구타임라인요청하기 블럭

 

. 트위터 컴포넌트 멘션요청하기 블럭

로그인된 사용자의 최근 20개의 멘션을 요청하는 블럭이다. 멘션이 조회되었을 때, 시스템은 'MentionReceived' 이벤트를 발생시키고 'Mentions' 속성값에 멘션 리스트를 채울 것이다.

 

앱인벤터 트위터 컴포넌트 멘션요청하기 블럭

 

. 트위터 컴포넌트 트위터검색하기 블럭

주어진 문자열 쿼리(질문)에 대해 Twitter에서 검색한다.

 

앱인벤터 트위터 컴포넌트 트위터검색하기 블럭

 

. 트위터 컴포넌트 언팔로우 블럭

인자로 받은 사용자에 대해 팔로우를 정지하는 블럭이다.

 

앱인벤터 트위터 컴포넌트 언팔로우 블럭

 

. 트위터 컴포넌트 트윗하기 블럭

로그인된 사용자가 특정 문자열을 가지고 하나의 트윗을 전송한다. 만일 160개 문자를 초과한다면 문자열은 160이상의 문자들은 잘릴 것이다.

 

앱인벤터 트위터 컴포넌트 트윗하기 블럭

 

. 트위터 컴포넌트 이미지와트윗트윗하기 블럭

로그인된 사용자가 특정 문자열과 업로드된 이미지의 경로를 가지고 하나의 트윗을 전송한다. 만일 160개 문자를 초과한다면 문자열은 160이상의 문자들은 잘릴 것이다. 그리고 이미지를 찾을 수 없거나 잘못된 경우라면 트윗은 전송되지 않을 것이다.

 

앱인벤터 트위터 컴포넌트 이미지와함께트윗하기 블럭

 

트위터 컴포넌트 가져오기/지정하기 블럭들

트위터 컴포넌트 중에 가져오기/지정하기 블럭에는 컨슈머키, 컴슈머스크릿, 쪽지리스트, 팔러워, 친구타임라인, 멘션리스트, 검색결과, 사용자이름 블럭이 있다.

 

. 트위터 컴포넌트 컨슈머키 가져오기/지정하기 블럭

컨슈머키 블럭은 OAuth를 통해 Twitter에 인증할 때 사용되는 키값을 설정하거나, 설정된 컨슈머키 값을 가져오는 블럭이다.

앱인벤터 트위터 컴포넌트 컨슈머키 블럭

 

. 트위터 컴포넌트 컨슈머시크릿 가져오기/지정하기 블럭

컨슈머키 블럭은 OAuth를 통해 Twitter에 인증할 때 사용되는 키값을 설정하거나, 설정된 컨슈머시크릿 값을 가져오는 블럭이다.

 

앱인벤터 트위터 컴포넌트 컨슈머시크릿 블럭

 

. 트위터 컴포넌트 쪽지리스트 가져오기 블럭

로그인된 사용자가 언급한 가장 최근의 메시지 리스트를 가져오는 블럭이다.

 

앱인벤터 트위터 컴포넌트 쪽지리스트 블럭

. 트위터 컴포넌트 팔로워 가져오기 블럭

로그인된 사용자의 팔로워 리스트를 가져오는 블럭이다.

 

앱인벤터 트위터 컴포넌트 팔로워 블럭

 

. 트위터 컴포넌트 친구타임라인 가져오기 블럭

팔로워되고 있는 상요자의 가장 최근의 20개의 메시지를 가져오는 블럭이다.

 

앱인벤터 트위터 컴포넌트 친구타임라인 블럭

 

. 트위터 컴포넌트 멘션리스트 가져오기 블럭

로그인된 사용자의 멘션 리스트를 가져오는 블럭이다.

 

앱인벤터 트위터 컴포넌트 멘션리스트 블럭

 

. 트위터 컴포넌트 검색결과 가져오기 블럭

'트위터검색하기' 블럭을 통해 검색을 하였을 경우, 결과값을 가져올 때 사용하는 블럭이다.

 

앱인벤터 트위터 컴포넌트 검색결과 블럭

 

. 트위터 컴포넌트 사용자이름 가져오기 블럭

인증된 사용자의 사용자 이름을 가져오는 블럭이다.

 

앱인벤터 트위터 컴포넌트 사용자이름 블럭

 

이상으로 앱인벤터 트위터 컴포넌트 블럭에 대해 간략히 살펴보았다. 좀더 자세히 확인하기 싶으면, 문자메시지 앱을 통해 블럭들을 하나씩 사용해보면서 블럭의 활용 용도 등을 파악하면 좋을 것 같다. 눈으로 보는 것보다 직접 해보는게 여러모로 코딩하는데 이해하고 코딩 실력이 향상되는데 도움이 된다.

 

Just Do it!!!

Just Drag&Drop!!!

 

MagneticFieldSenso

 

반응형

댓글