使用Facebook应用程序链接主机API响应为403权限错误-Android
我按照Android的Facebook API教程设置Facebook登录,查看新闻源并向Facebook发布新消息。所有这些都有效。现在我想将应用程序链接关联到我的应用程序,这样深度链接就可以工作了。我更改了post代码,将请求提交到/app/app\u link\u主机与我的链接,以便将其关联,并返回此错误响应:使用Facebook应用程序链接主机API响应为403权限错误-Android,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,我按照Android的Facebook API教程设置Facebook登录,查看新闻源并向Facebook发布新消息。所有这些都有效。现在我想将应用程序链接关联到我的应用程序,这样深度链接就可以工作了。我更改了post代码,将请求提交到/app/app\u link\u主机与我的链接,以便将其关联,并返回此错误响应: 05-12 13:59:25.002: E/response(32412): {Response: responseCode: 403, graphObject: null, e
05-12 13:59:25.002: E/response(32412): {Response: responseCode: 403, graphObject: null, error: {HttpStatus: 403, errorCode: 200, errorType: OAuthException, errorMessage: (#200) Permissions error}, isFromCache:false}
这是我的应用程序链接主机代码
Session session = Session.getActiveSession();
Bundle params = new Bundle();
params.putString("name", "App Post");
params.putString("android", "[{\"url\": \"myapp://post/" + appLinkHostId + "\",\"package\": \"com.myapp.socialnetworktest\"}]");
params.putString("web", "{\"should_fallback\": false}");
/* make the API call */
new Request(
session,
"/app/app_link_hosts",
params,
HttpMethod.POST,
new Request.Callback() {
public void onCompleted(Response response) {
Log.e("response", response.toString());
}
}
).executeAsync();
我想,一旦我得到这个工作,我可以使用我提交的url作为一个新的Facebook帖子的url和深度链接将工作。这是正确的吗?这些呼叫(到
/app/app\u link\u主机
)需要使用app-access令牌在服务器端进行-如果您使用Android代码进行呼叫,则可能是错误的,我认为可以从Android进行呼叫。在Facebook的这个页面上,发布部分有关于Android的说明。对于发布带有应用程序链接的帖子,是的,并且有许多语言的自动生成的示例代码(从技术上讲,它可以在Android上运行),但是您的呼叫是为您的应用程序设置应用程序链接主机的呼叫。该调用需要一个应用访问令牌(代表应用本身而不是其用户进行调用)-这是一个相对很少执行的操作,不应该从客户端代码执行-您的示例很可能失败,因为您使用的是用户访问令牌/sessionI,请参见该页“请注意,如果没有可用于设置应用程序链接的web服务器,则可以使用应用程序链接宿主API。如果您使用的是纯移动应用程序,则这种情况很常见。“我希望使用应用程序链接托管API,而不必在服务器端编程。我不确定我是否使用了正确的API。这里也是一样。安迪,如果你能找出问题,请发邮件@lgy,你是Facebook的吗?如果是这样的话,你应该明确地告诉你的文档团队,他们在写作指导方面很差劲。那些不是你好世界的东西。他们的写作就像一个简单的教程,没有提及任何内部功能。