Nir*_*bhi 5 android facebook socialauth facebook-login
我创建了一个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();
}
}
Run Code Online (Sandbox Code Playgroud)
您收到 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;
Run Code Online (Sandbox Code Playgroud)
所以你可以看到我们要求用户授予你publish_actions权限。user_likes包含或权限不是强制性的user_status。如果不需要它们,您可以将其删除。
用户登录后,您将获得Facebook 的authentication token信息。session现在您可以使用它在用户的个人资料上发布。
现在有很多方法可以在 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();
Run Code Online (Sandbox Code Playgroud)
或者您也可以阅读本教程。
笔记
您还需要使用 facebook 创建开发者帐户,并将您的应用程序添加到其仪表板,生成 app_id 并在文件中提及相同的内容AndroidManifest.xml。
| 归档时间: |
|
| 查看次数: |
3538 次 |
| 最近记录: |