2015-10-31 1 views
0

Je ne suis pas en mesure de poster Facebook en utilisant le projet custom-ui de socialauth-android.Impossible de poster sur Facebook en utilisant le projet personnalisé-ui du projet socialauth-android

Voici le journal des erreurs.

10-31 13:18:05.124: D/SocialAuthError(21880): org.brickred.socialauth.exception.SocialAuthException: org.brickred.socialauth.exception.SocialAuthException: Status not updated. Return Status code :403 
10-31 13:18:05.124: W/System.err(21880): org.brickred.socialauth.android.SocialAuthError: Message Not Posted 
10-31 13:18:05.124: W/System.err(21880): at org.brickred.socialauth.android.SocialAuthAdapter$6.run(SocialAuthAdapter.java:868) 
10-31 13:18:05.124: W/System.err(21880): at java.lang.Thread.run(Thread.java:818) 

Je ne parviens pas à trouver le problème. J'utilise les mêmes clés d'API obtenues à partir de la source Github.

+0

Comment reproduire l'erreur lorsque vous n'avez partagé aucun code? –

Répondre

0

Vous obtenez 403 Authentication Error cela signifie clairement que votre application n'est actuellement pas autorisé pour publier sur le profil Facebook de l'utilisateur.

La façon dont vous essayez d'utiliser les API de Facebook pose problème. Je vous suggérerais le dernier SDK Facebook pour Android car certaines des anciennes méthodes peuvent être obsolètes. Laissez-moi vous dire l'approche pour le faire correctement. (I a récemment mis en dernier SDK Facebook)

  • Vous avez besoin d'une autorisation

Il y a des autorisations spécifiques que vous devez faire certaines opérations spécifiques avec Facebook SDK. Par exemple, vous avez besoin de l'autorisation publish_actions si vous souhaitez que votre application affiche l'état sur le profil de l'utilisateur.

Check Out Il dit,

For example, the publish_actions permission lets you post to a person's Facebook Timeline.

  • Comment obtenir les autorisations

Vous devez montrer à l'utilisateur un bouton de connexion qui va lui demander de faire Connectez-vous avec son facebook compte et notifier à l'utilisateur ce que votre application peut faire avec son profil Facebook. Il montrera les autorisations. Dans votre cas, vous devez ajouter un bouton de connexion avec la permission publish_actions. Une fois que l'utilisateur l'accepte, votre application devient autorisée pour afficher le statut.

Complete Tutorial is here pour effectuer le processus de connexion de Facebook avec les permissions.

Vous devez faire ce qui suit,

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton); 
authButton.setFragment(this); 
authButton.setReadPermissions(Arrays.asList("user_likes", "user_status", "publish_actions")); 
return view; 

Vous pouvez voir que nous demandons à l'utilisateur de vous donner la permission de publish_actions. Il n'est pas obligatoire d'inclure les autorisations user_likes ou user_status. Vous pouvez les supprimer si vous n'en avez pas besoin.

  • suivant ce après la connexion

Après l'utilisateur se connecte, vous obtenez un authentication token dans votre session avec Facebook. Alors maintenant, vous pouvez l'utiliser pour publier sur le profil de l'utilisateur.

  • Comment publier

Maintenant, il y a plusieurs façons de publier les messages ou le statut sur Facebook. Le premier que je voudrais discuter utilise le Graph API

Voici un peu de code, vous pouvez utiliser pour publier sur facebook.

Session session = Session.getActiveSession(); 

new Request(
    session, 
    "/me/feed", 
    null, 
    HttpMethod.POST, 
     new Request.Callback() { 
      public void onCompleted(Response response) { 

      } 
     } 
).executeAsync(); 

NOTE

Vous avez également besoin pour créer un compte de développeur avec Facebook et ajoutez votre application à son tableau de bord, générer un app_id et mentionner le même dans votre fichier AndroidManifest.xml.