Unity3D Could not load type 'Facebook.FacebookClient' from assembly

이미지
TypeLoadException: Could not load type 'Facebook.FacebookClient' from assembly 'Facebook, Version=6.0.10.0, Culture=neutral, PublicKeyToken=58cb4f2111d1e6de'.  유니티에 페이스북 SDK for .NET 연동   테스트 중 위와같은 에러가 발생했습니다. 아무래도 유니티3D가 닷넷 프레임워크 4.5는 안되나보네요. 제가 간단하게  C# DLL 프로젝트를 닷넷 프레임워크 4.5 기반 으로 만들었을 땐 잘 되더니 이건 페이스북 닷넷 SDK는 안되네요.  Facebook.6.4.0 SDK 기반 net35-client에 있는 걸로 하시면 잘됩니다. 4.0도 안되더군요.

curl facebook error. (#100) missing message or attachment type oauthexception code 100

이미지
C:\Users\wwforever.NOWCOM\Downloads>curl -k -F "access_token=My Access Token" https://graph.facebook.com/me/feed {"error":{"message":"(#100) Missing message or attachment","type":"OAuthExceptio n","code":100}}  조금전에 정리했던 Malformed access token 에러 의 연장에 있는 이슈입니다. -F "message=test message" 이렇게 해줘야하는데 일부러 빼봤더니 이런 에러가 발생하네요. message 추가하시면 됩니다.

curl facebook error. Malformed access token t​ype OAuthException code 190

이미지
C:\Users\wwforever.NOWCOM\Downloads>curl -k -F "access_token=My Access Token&message=facebook integration test by curl" https://graph.facebook.com/me/feed {"error":{"message":"Malformed access token My Access Token&message=facebook integration test by curl","type":"OAuthException","code":190}}  산넘어 산입니다. curl에 -k 옵션을 줘서 ssl 인증을 살짝 무시 하고 진행했더니 이번에는 위와같은 에러가 발생합니다. curl 옵션을 잘 사용할 줄 몰라서 계속 이런 이슈가 발생하네요. 원인은 위에 붉은색으로 표시한 부분입니다. -F로 된것에 post로 보낼값을 하나씩 세팅해줘야 하네요. curl -k -F "access_token=my token" -F "message=facebook integration test by curl" https://graph.facebook.com/me/feed  요런식으로 하시면 됩니다. 테스트 마무리가 코 앞 에 있습니다!

curl (60) ssl certificate problem verify that the ca cert is ok

이미지
curl (60) ssl certificate problem verify that the ca cert is ok. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed   curl ssl 지원하는 command line 버전 으로 받아서 https를 다시 시도해봤더니 위와같은 에러가 발생하네요. 키 파일을 받아 옵션을 줘서 하면 될 듯한데 일단 설명에 있듯이 -k 옵션으로 해서 인증 기능을 무시했습니다.  curl -k https://www.google.com 으로 하니 되긴 되네요. www.google.co.kr로 리디렉션이 되서 그렇지.

curl (1) Protocol https not supported or disabled in libcurl

이미지
 명령행 기반 웹 요청 테스트 도구로 curl 만한것이 없죠. REST 관련 개발 테스트시에도 유용하구요. 아무튼 페이스북 연동 테스트를 curl로 해보는중입니다. access-token을 받은 상태에서 graph api로 간단하게 제 담벼락에 글 하나 게시하려구요. (6) Could not resolve host: xxxx; Host not found 는 문법 오류였습니다. 옵션을 " " 로 묶어주면 됩니다. (1) Protocol https not supported or disabled in libcurl 에러는 ssl이 포함된 curl command line tool로 해줘야합니다. 스샷을 보시면 아시겠지만 전 nossl 버전으로 테스트 중이었습니다.   curl 다운로드 페이지 에서 Wizard를 통해 os별 curl을 찾으신 후 SSL enabled 된 것을 다운로드하고 시도하면 됩니다.

facebook Authorization중 https://www.facebook.com/connect/blank.html#_=_

이미지
https://www.facebook.com/connect/blank.html#_=_  페이스북 연동 인증 테스트중에 위와같은 결과가 나왔습니다. '보안 경고: 이 URL은 암호와 마찬가지이며 타인과 공유할 수 없습니다.' 이러는데 뭐 공유할 URL도 아닌것 처럼보이네요. Success니 성공이긴하지만요. https://www.facebook.com/dialog/oauth?client_id=Your App ID&client_secret=Your App Secret&display=popup&response_type=code%20token&redirect_uri=https%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html   페이스북에 앱을 등록 했었죠. 꼭 네이티브 앱에 연동을 안해도 위와같이 client_id에 App ID를 client_secret에 App Secret를 넣고 url을 브라우저에 넣은 후 테스트를 할 수 있습니다. 일단 위 내용은 크롬에서 했던 거구요.  어제 하루 이것 때문에 헤매였는데 익스플로러에서 하니까 잘 되는군요. 저렇게 access_token 값하고 expires_in등의 값이 넘어와야 제대로 된거거든요.   우분투 파이어폭스 와  KDE쪽에서도 버그가 리포트 되었네요. 2013년 5월 9일이니까 얼마 전이에요. 뎃글을 보니 리디렉션이 된니까 빠르게 url을 복사하라고 해서 크롬에서 자세히보니 정말 url이 리디렉션이 되더군요. 복사할 수 있는 여유도 없이 말이죠.  일단 익스플로러로 테스트해야겠습니다. 크롬에서 해당 증상 수정할 수 있는 방법을 알게되면 포스팅을 수정하겠습니다.

Unity3D C#으로 만든 DLL 사용하기

이미지
  페이스북 C# SDK 를 유니티에 적용하기에 앞서 간단하게 C#으로 만든 DLL lib를 유니티3D에 적용하는 것을 정리해봅니다.  먼저 비주얼 스튜디오로 C# 클래스 라이브러리 프로젝트를 생성합니다. 유니티3D가 .NET Framework 4.5를 지원하는지 모르겠지만 일단 결과 먼저 말씀드리면 잘 되더군요. 물론 간단하게 만들어서 그렇지 100% 호환인지는...  ClassLibrary1프로젝트가 만들어졌습니다. Class1클래스에 간단하게 Hello C# DLL 스트링을 리턴하게 했습니다.  빌드를 한 후 생성된 ClassLibrary1.dll을 유니티3D 프로젝트의 Assets\Plugins에 복사합니다.  유니티3D C# 스크립트를 만들어 스샷과 같이 간단하게 로그를 출력할 수 있게 내용을 추가해줍니다. using 만든dll파일명 으로 사용한다고 알려주고 dll에 있는 클래스로 접근합니다.  메인카메라에 스크립트를 바인드하고 유니티툴에서 실행해보니 잘 작동하네요.