project에서 spring-social을 사용중이다. 언젠가부터 연결된 facebook displayName이 null로 나오는 문제가 발생하기 시작했다. ConnectionRepository를 만들어서 사용할때는 초반이라 테스트를 많이 해서 그런지 null이 나오는 것을 대비해 두었는데 어느정도 익숙해진 이후에 만든 api 에서 이런 문제가 발생했다. 이유는 spring-social-facebook이 사용하는 api url 때문이다. 1
spring-social-facebook 1.1.0.RELEASE 는 graph api를 사용하면서 /me 같이 version명시 없는 url을 사용한다. version 명시없는 이 api는 v2.2와 동일한 응답을 주게되고 graph api의 버전으 올라갈 수록 spring-social-facebook은 점차 사용하기 어렵게 될 것이다. 이를 해결하는 방법은 v1.0 이러고 명시를 한 1.1.1.RELEASE를 사용하는 것인데 현시점에서는 그것마저 facebook이 폐기해버렸다.
결국 버전 명시없는 spring-social-facebook 1.1.0.RELEASE와 v1.0으로 명시한 spring-social-facebook 1.1.1.RELEASE 모두 connectionData의 displayName은 항상 null이다. displayName을 얻기 위해서는 한번 더 /me api를 호출해서 name을 가져오거나 spring-social-facebook을 직접고쳐쓰거나 최신버전을 써야한다. 이것이 현재까지의 상황이다.
v2.2를 사용하는 버전은 언제 RELEASE가 될지도 모르겠고 불안하지만 한번 도전해보려고 한다. 그에 따른 문제는 이후에 다시 정리해봐야겠다.
- 처음부터 그랬는지도 모른다. [본문으로]