2014-05-12 1 views
3

새로운 V2 페이스 북 오픈 그래프 API가 출현하면서 로그인 한 사용자의 '앱 - 스코프 (App-Scoped)'사용자 ID를 기록하여 ID를 등록해야합니다. PUSH 통지를 수신하려면 구문 분석하십시오.페이스 북 그래프 API에서 사용자 스코프 된 사용자 ID 가져 오기

그러나 로그인 한 사용자 대신 Facebook ID를 받았습니다.

문서에서이 문제를 아직 해결하지 못한 것이 있으므로 여기에서 질문하는 것이 좋습니다.

+0

혹시 이것을 알아 냈습니까? 새로운 앱으로 같은 문제가 발생했습니다. 모든 친구의 user_ids는 app-scoped이지만 현재 사용자의 user_id는 "진짜"입니다. –

답변

9
  1. 당신이 그래프 API 2.0의 도입 전에 페이스 북의 응용 프로그램을 만든 경우, 그것은 당신이 당신의 페이스 북의 응용 프로그램을 만든 경우 그래프 API 2.0의 도입 후, 정식 페이스 북의 사용자 ID
  2. 을 계속받을 수는, 그것은 제공 정식 ID 대신 범위가 지정된 ID를 적용합니다.

이 경우에는 귀하의 응용 프로그램이 상당히 오래된 것으로 가정합니다. 여기에 새로운 응용 프로그램을 생성하면 응용 프로그램 범위 ID가 부여됩니다. 페이스 북의 문서에서

+0

버전 1.0이 꺼지면 어떻게됩니까? (2015 년 4 월) –

+0

이 경우 응용 프로그램을 다시 설치할 때 사용자 ID가 변경됩니다. –

+1

실제로 사용자 ID는 변경되지 않습니다. v1.x API를 사용하여 앱에 처음 액세스하는 모든 사용자는 v2.x를 사용하여 앱에 처음 액세스하는 모든 사용자와 동일한 ID를 항상 갖게됩니다. – Phillip

1

App-scoped User ID라고하는 "Facebook ID".

https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids

+0

그래, 그게 내가 생각한거야.하지만 우리는 새로운 사용자 등을 만들어 이것을 테스트 해왔다. 그래서 어쩌면 아직 활성화되지 않았거나 아니면 친구 ID에만 적용됩니다. –

+0

나는 이해하지 못합니다. 당신은 무엇을 테스트했고, 결과는 무엇입니까? – Tobi

+0

우리는 테스트 사용자를 생성 한 후 우리의 어플리케이션에 로그인하고 api 호출을 호출하여 로그인 한 사용자 ID를 얻었습니다. 그러나 문서에 명확하게 명시된 것과 반대로 범위가 지정된 ID가 아닌 실제 Facebook ID를 리턴했습니다. –

0

당신이 API의에서 얻을 ID가 불투명 한 문자열을 참조하십시오, 당신은 같은 그것을 사용해야합니다. 사용자가 이미 v1에서 앱 액세스 권한을 부여한 경우 앱은 계속 동일한 ID를받습니다.

+0

기본 iOS Facebook SDK를 사용하여 반환 된 UID가 동일한 방식으로 'Opaque'ID, 아마도 App-Scoped 사용자 ID (사용자가 계정 게시 v2.0 API를 만든 것으로 가정)를 반환하는지 여부를 알고 계십니까? –

+0

모든 플랫폼에서 동일합니다. –

2

는 :

. "이 사람의 사용자 계정의 ID는이 ID는 각 응용 프로그램 에 고유 한 다른 앱에서 사용할 수 없습니다 우리의 업그레이드 가이드는 이것에 대해 더 많은 정보를 제공합니다.." 각 앱마다 ID를 얻을 수 있습니다. 여기에서

자세한 내용은 : facebook.developers

0

킵하는 사용자를 위해 페이스 북에서 표준 ID를 수신 등록, 새로운 사용자는 새로운 범위의 ID를 얻고있는 오래된 사용자가. 긴 정수로 잘 작동하고 있지만, 문자열 필드에 대한 긴 필드를 변경하는 것이 좋습니다 (이미 문자열로 처리하지 않는 한). 앞으로 Facebook에서 어떤 정보를 보낼지 알 수 없으므로이 필드를 변경하는 것이 좋습니다. 코드를 변경하지 않고 유지하려면 코드가 이미 사용하고있는 새로운 내부 사용자 ID long integer를 만들고 사용자가 이전 또는 이후에 등록했는지에 따라 정식 또는 범위가 지정된 Facebook의 문자열 ID와 연결하십시오 요청, 오픈 그래프 스토리 등을 관리해야합니다.

이 방법을 사용하면 정규 ID 또는 범위 ID에 대해 걱정할 필요가 없습니다. 한 가지 경우는 예외입니다. 문제가 발견 된 것을 제외하고는 모든 것이 잘 작동하고 누군가 나를 수정할 수 있기 때문에 해결할 수 있습니다. 새로운 사용자가 기존 사용자의 초대 요청을 수락하면 앱이 요청을 보낸 사람의 ID를 읽을 때, 나는 당신이 새로운 범위의 ID를 항상 제공한다는 것을 발견했다. 이렇게하면 이전에 등록한 사용자가 표준 ID를 저장하고 나중에이 사용자로부터 새 사용자에 대한 요청을 읽으면 이전 사용자의 범위 지정된 ID를 가져 오지만 저장 한 항목은 다음과 같습니다. 정식적인 것! 결과적으로 이전 사용자는 새로운 사용자를 제대로 초대 할 수 없습니다.기존 사용자에 대한 요청에서 표준 ID를 가져 오는 방법을 알고 있거나 정식 ID로 기존 사용자의 범위 ID를 얻는 방법을 알고있는 경우 (새 범위 ID를 데이터베이스에 저장하는 경우) 제안을 듣는 것이 좋습니다.