Comment résoudre référence d'objet nul après instancier FacebookSessionUtil
-
19-09-2019 - |
Question
Je pense que vous pouvez me aider à sortir de ce petit problème.
Je suis un novice dans développeur Facebook en choisissant ActionScript 3 comme ma plate-forme de développement. J'utilise la bibliothèque SWC de officiel facebook-actionscript-api promu par Adobe .
Je suivais leur tutoriel. Donc, je ne l'instruction suivante:
- Créer un projet Flex.
- Télécharger et mettre à
Facebook_library_v3.4_flex.swc
\lib
dans le projet Flex. -
Fournir le code suivant:
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(); }
Après avoir essayé de lancer la session de débogage. Je suis l'erreur après exercerai cette déclaration:
Session = new FacebookSessionUtil (api_key, secret_key, this.loaderInfo);
Je pense que je l'ai fait quelque chose de mal, mais je ne pouvais pas comprendre. Pourriez-vous me aider en donnant votre avis ou toute ligne directrice?
est exception que je suis:
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]
Je remarque que la première ligne d'exception montrent ceci:
com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
Mais je ne sais pas qu'il implique dans l'exception.
Ma plate-forme de développement est:
- macbook
- Mac OS X Snow Leopard 10.6
- Flash Player 10.0.32 Debugger
- Mozilla Firefox 3.6
- Flex Builder 3.2
- Flex SDK 3.5
- Facebook_library_v3.4_flex.swc
Toute suggestion et directive serait vous remercier. Je pense que ce serait bon pour les autres développeurs qui peuvent trouver comme moi le même problème.
La solution
loaderInfo n'est pas prêt et est actuellement nulle.
essayer: -
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();
}