Facebook状态未更新.错误403,身份验证错误,Android中出现SocialAuthException



我创建了一个Android应用程序,因为Facebook的授权做得很好,但当我点击更新状态按钮时,它显示异常。它返回状态代码403。

代码为:

if (providerName.equalsIgnoreCase("facebook") 
{
try 
{
adapter.updateStory(
"Hello SocialAuth Android" + System.currentTimeMillis(),
"AAA",
"BBB",
"CCC.",
"DDD", "EEE",
new MessageListener());
}
catch (UnsupportedEncodingException e) 
{               
e.printStackTrace();
}
}

浏览SocialAuth Wiki时,我发现了一个与您描述相符的当前错误:

https://code.google.com/p/socialauth-android/issues/detail?id=175

所以你并不是唯一一个有问题的人。您可以在他们的问题跟踪器中提供更多信息,以提供帮助并指示问题的严重性。

但除此之外,我担心你只能等待——或者考虑自己修复开源库中的错误。


您还可以检查原始Java实现还是。Net端口也遇到了同样的问题;如果没有,这些库中的代码可能有助于找到解决方案。

您收到403Authentication Error,这显然意味着您的应用程序目前没有授权在用户的Facebook个人资料上发布。

您尝试使用Facebook API的方式存在一些问题。我建议你使用最新的Android版Facebook SDK,因为一些旧的方法可能会被弃用。让我告诉你正确做法的方法。(我最近实现了最新的Facebook SDK)

  • 您需要权限

使用Facebook SDK执行某些特定操作需要一些特定权限。例如,如果您希望应用程序在用户配置文件上发布状态,则需要publish_actions权限。

检查一下上面写着,

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

  • 如何获得权限

您需要向用户显示一个登录按钮,该按钮将要求他使用他的facebook帐户进行登录,并通知用户您的应用程序可能会使用他的facebook个人资料进行什么操作。它将显示权限。在您的情况下,您需要添加一个具有publish_actions权限的登录按钮。一旦用户接受,您的应用程序将被授权发布状态。

这里有完整的教程,用于使用权限进行Facebook的登录过程。

,您需要执行以下操作

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

因此,您可以看到,我们要求用户授予您publish_actions权限。不强制包含user_likesuser_status权限。如果你不需要它们,你可以把它们取下来。

  • 登录后的下一步是什么

用户登录后,您将在使用Facebook的session中获得一个authentication token。所以现在您可以使用它在用户的配置文件中发布。

  • 如何发帖

现在有很多方法可以在Facebook上发布帖子或状态。我想讨论的第一个问题是使用Graph API

查看此链接了解更多详细信息

这里有一些代码,你可以用来发布到facebook。

Session session = Session.getActiveSession();
new Request(
session,
"/me/feed",
null,
HttpMethod.POST,
new Request.Callback() {
public void onCompleted(Response response) {
}
}
).executeAsync();

或者您也可以浏览本教程。

注意

您还需要使用facebook创建开发人员帐户,并将您的应用程序添加到其仪表板中,生成app_id,并在AndroidManifest.xml文件中提及。

更多信息

用下面的jar文件url链接替换socialauth-4.4.jar。并检查Facebook共享是否有效。

从下载jar文件

https://socialauth-android.googlecode.com/issues/attachment?aid=1880009000&name=testrongocial.jar;令牌=ABZ6GAeEabJhhI5PtmSHn7pA8pcsk6s_Zw%3A1415373843808

最新更新