확인하고 싶은 것이 있어 문의드립니다. 현재 사용자의 위치를 기반으로 내부 광고를 제공하기 위한 Discourse의 방법이 있을까요? 광고를 제공하기 위해 House Ads in the Official Ad Plugin 기능이 이미 준비되어 있다는 것은 알고 있습니다. 다만, Discourse를 통해 현재 사용자의 위치를 조회할 수 있는 방법이 있는지 궁금합니다.
만약 Discourse 자체로 이를 수행할 수 없는 경우(예: 제3자 도구 필요 등), 가입 시 IP 주소를 확보하고 있다는 점을 알고 있습니다. 이 IP 주소를 활용하여 사용자의 위치를 파악할 수 있는 방법이 있을까요?
이를 위해 짧은 Python 스크립트를 작성해 보았지만, JSON 대신 웹페이지만 반환되고 있습니다. GET URL에 .json을 추가했을 때는 단순히 {}만 반환됩니다. 그러나 사용자 ID(https://your-discourse.com/admin/users/{user_id}/ip-info.json?ip={user_ip})를 사용하여 요청을 보내면 IP 주소를 포함한 사용자 정보가 정상적으로 표시됩니다.
브라우저로 해당 URL을 직접 방문해 보았지만, Oops! That page doesn’t exist or is private. 오류 메시지만 나타났습니다.
참고로, 저희 Discourse는 현재 Stable 버전(v3.1.1)을 사용 중입니다.
확인하고 싶은 것이 있는데, 이 기능이 작동하려면 MaxMind 라이선스가 필요한가요? 만약 필요하지 않다면, 제공된 엔드포인트가 잘못된 것일 수도 있나요? /admin/users/{user_id}.json에서는 응답을 받을 수 있지만, /admin/users/ip-info?ip={user_ip}에서는不知道为什么 제대로 된 응답을 받지 못하고 있습니다. Discourse 사이트에서 HTML 형식의 빈 웹페이지만 반환되고 있습니다.
또한, 공유해 주신 것과 같은 Discourse가 제공하는 유용한 엔드포인트 목록에 대한 링크가 있을까요?
무료 MaxMind 라이선스를 확보했고, https://your-discourse.com/admin/users/ip-info.json?ip={user_ip} . API가 잘 작동하고 있습니다. 감사합니다!
추가로 질문이 하나 있습니다. 이 API는 사용자의 IP를 가져오기 위해 사용자 ID가 필요하고, 그 다음에 위의 API를 호출해야 하므로, 익명 사용자의 경우는 어떻게 되나요? 익명 사용자에게도 광고를 제공하려고 하는데, 사용자 ID가 없는 경우에도 이것이 가능한가요, 아니면 로그인한 사용자에게만 엄격하게 적용되는 건가요?