FacebookSessionUtil 인스턴스화 후 Null Object Reference를 해결하는 방법
-
19-09-2019 - |
문제
이 작은 문제에서 나를 도울 수 있다고 생각합니다.
저는 Facebook 개발자의 초보자이며 Actionscript 3을 개발자 플랫폼으로 선택합니다. SWC 라이브러리를 사용합니다 공식 Facebook-ActionScript-API Adobe가 홍보했습니다.
그래서 나는 그들의 튜토리얼을 따랐습니다. 그래서 나는 지시를 따랐다 :
- Flex 프로젝트를 만듭니다.
- 다운로드 및 넣습니다
Facebook_library_v3.4_flex.swc
에게\lib
플렉스 프로젝트에서. 다음 코드 제공 :
import com.facebook.Facebook; import com.facebook.utils.FacebookSessionUtil; private var fbook:Facebook; private var session: FacebookSessionUtil; protected var api_key : String = "my-facebook-app-api-key"; protected var secret_key : String = "my-facebook-app-secret-key"; public function init() : void { //fbook = new Facebook(); session=new FacebookSessionUtil(api_key,secret_key,this.loaderInfo); var fbook : Facebook = session.facebook; session.validateLogin(); }
디버그 세션을 실행하려는 후. 이 명령문을 실행 한 후 오류가 발생했습니다.
세션 = 새로운 FacebookSessionUtil (Api_key, Secret_key, this.loaderInfo);
나는 내가 뭔가 잘못했다고 생각하지만 그것을 알아낼 수 없었다. 조언이나 가이드 라인을 제공함으로써 저를 도와 주시겠습니까?
이것은 내가 얻은 예외입니다.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
at CheeseZaa/init()[/Users/teerasej/Documents/Flex Builder 3?/freelance/CheeseZaa/src/CheeseZaa.mxml:24]
at CheeseZaa/___CheeseZaa_Application1_creationComplete()[/Users/teerasej/Documents/Flex Builder 3?/freelance/CheeseZaa/src/CheeseZaa.mxml:4]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9440]
at mx.core::UIComponent/set initialized()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1168]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8744]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8684]
예외의 첫 번째 줄은 이것을 보여줍니다.
com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
그러나 나는 그것이 예외에 관여하는지 확신하지 못한다.
내 개발 플랫폼은 다음과 같습니다.
- MacBook Pro
- OSX Snow Leopard 10.6
- 플래시 플레이어 10.0.32 디버거
- 모질라 파이어 폭스 3.6
- 플렉스 빌더 3.2
- Flex SDK 3.5
- Facebook_library_v3.4_flex.swc
모든 제안과 가이드 라인은 감사합니다. 나는 이것이 나와 같은 문제를 발견 할 수있는 다른 개발자에게 좋을 것이라고 생각합니다.
해결책
LoaderInfo는 준비되지 않았으며 현재는 무효입니다.
노력하다:-
public function init():void
{
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
private function onAddedToStage(event:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
session = new FacebookSessionUtil(api_key, secret_key, this.loaderInfo);
var fbook:Facebook = session.facebook;
session.validateLogin();
}
제휴하지 않습니다 StackOverflow