기기용 공유

이 엔드포인트는 2020년 11월 2일에 사용 중단되었습니다.

기기용 공유를 사용하면 기기에서 Facebook으로 콘텐츠를 쉽게 공유할 수 있습니다. 여기에는 스마트 TV, 디지털 사진 프레임 또는 사물 인터넷(IoT) 기기가 포함됩니다.

기기 공유를 사용하면 기기에 영숫자 코드가 표시되고 사용자에게 데스크톱 PC나 스마트폰의 웹페이지에 입력하라는 메시지가 표시됩니다. 그러면 앱 또는 서비스 사용자가 코드와 연결된 공유 대화 상자로 Facebook에 콘텐츠를 공유할 수 있습니다.

Apple TV 또는 Android 기기를 위한 앱을 만드는 경우 각각 tvOS용 SDK 또는 Android용 SDK를 사용해야 합니다.

이 가이드에서는 다음 내용을 설명합니다.

사용자 경험

1. 행동 유도

먼저 사용자 경험에서 Facebook에 콘텐츠를 공유하도록 요청할 위치를 고려합니다. 가장 편리한 사용자 경험을 제공하려면 최대한 공식 Facebook 공유 버튼과 비슷한 버튼을 디자인합니다. 일반적으로 버튼은 공유할 콘텐츠 옆에 두어야 합니다.

시각적 디자인 측면에서 이는 다음을 수행해야 한다는 의미입니다.

  1. 버튼에 '공유' 또는 'Facebook에 공유' 레이블을 표시합니다.
  2. 흰색과 공식 Facebook 브랜드 파란색(#3B5998)을 사용합니다.
  3. 기기에서 그래픽 표시를 지원하는 경우 공식 "f" 로고를 포함할 수 있습니다. Facebook 브랜드 가이드라인에 따라 로고는 항상 흰색이나 Facebook 파란색(#3B5998)이어야 합니다.

2. 코드 표시

행동 유도 버튼을 클릭하면 기기에서 Facebook API를 호출하고 코드가 반환됩니다.

개발자의 인터페이스에서는 사용자에게 웹사이트를 방문하여 "다음으로, 데스크톱이나 스마트폰의 facebook.com/device(http://facebook.com/device)에서 이 코드를 입력하세요."라는 메시지가 표시되면 코드를 입력해야 한다고 알립니다. Facebook의 기기 공유 API에서 받은 전체 코드를 표시합니다. 코드 길이는 6~12자입니다.

사용자가 기기 공유 플로를 완료할 수 있도록 Close 또는 Done 버튼을 포함합니다.

3. 공유

데스크톱이나 모바일 브라우저에서 facebook.com/device로 이동하면 표시되는 플로입니다. 먼저 코드를 입력할 수 있는 다음과 같은 텍스트 필드가 표시됩니다.

사용자가 코드를 입력하고 Continue를 클릭하면 공유 대화 상자가 표시됩니다.

따라서 공유가 성공했음을 알 수 있으며, 그런 다음 확인 메시지가 표시됩니다.

기기용 공유 구현

Facebook의 기기용 공유는 인터넷을 통해 HTTP 호출을 보낼 수 있는 기기에 사용합니다. 다음은 기기에서 수행할 수 있는 API 호출과 응답입니다.

1. 기기용 로그인 활성화

앱 대시보드를 읽어들이고 설정 > 고급 > OAuth 설정으로 이동하여 기기에서 로그인을 '예'로 변경합니다.

2. 코드 생성

사용자가 Share 행동 유도를 클릭하면 기기에서 다음으로 HTTP POST를 보내야 합니다.

POST https://graph.facebook.com/device/share
       access_token=<APPID|CLIENT_TOKEN>
       href=<LINK_TO_SHARE>

CLIENT_TOKEN은 앱 설정 -> 고급에서 확인할 수 있으며 앱 ID(파이프 문자 |로 구분)와 결합해야 완전한 access_token을 구성할 수 있습니다.

오픈 그래프 소식을 공유하고자 하는 경우 API는 href 대신 action_typeaction_properties도 지원합니다(공유 대화 상자의 오픈 그래프 액션과 동일한 방식).

또한 API는 quotehashtag 매개변수도 지원합니다(공유 대화 상자 매개변수와 동일한 방식).

응답 양식은 다음과 같습니다.

{
  "user_code": "A1NWZ9",
  "verification_uri": "https://www.facebook.com/device",
  "expires_in": 420,
}

이 응답이 의미하는 바는 다음과 같습니다.

  1. 기기에 'A1NWZ9' 문자열을 표시합니다.
  2. 사용자에게 'facebook.com/device'로 이동하여 이 코드를 입력하라고 안내합니다.
  3. 코드는 420초 후에 만료됩니다. 이 시간이 지나면 코드 표시를 닫아야 합니다.

3. 코드 표시

기기에서 user_code를 표시하고 사용자에게 PC나 스마트폰에서 verification_uri(예: facebook.com/device)를 방문하도록 안내해야 합니다. 사용자 경험을 참조하세요.

문제 해결

HTTP를 통해 기기 플로 요청을 보낼 수 있나요?
토큰이 포함된 그래프 API는 TLS/HTTPS가 필요합니다.

GET 메서드를 사용하여 기기 플로 요청을 보낼 수 있나요?
모든 기기 플로 요청은 POST 요청이어야 합니다.

사용자가 공유를 완료한 시점을 알 수 있나요?
아니요.

사용자를 대신해 프로그래밍 방식으로 게시할 수 있나요?
아니요. 그렇게 하려면 사용자에게 로그인하여 사용자를 대신해 게시할 권한을 부여해달라고 요청해야 합니다. 자세한 내용은 그래프 API로 게시를 참조하세요.