gpt4 book ai didi

android - 如何在不使用应用程序登录按钮的情况下通过 facebook android sdk 共享照片

转载 作者:太空狗 更新时间:2023-10-29 15:13:13 24 4
gpt4 key购买 nike

如何使用 android sdk 将照片分享到 facebook,而无需在我的应用程序中放置 facebook 登录按钮。 (我希望他们去 facebook 应用程序进行授权,然后在他们单击共享按钮时返回,而不是先登录然后分两步单击共享)。具体来说,我会在/me/photos 上发布一个 facebook 开放图,这样它就会上传到我的默认应用相册。但是,即使用户点击 Facebook 身份验证提示,我也会收到未登录的 session 错误。

final Session session = Session.getActiveSession();


Session.openActiveSession(this, true, new Session.StatusCallback() {

@Override
public void call(final Session session, final SessionState state,
final Exception exception) {
Request request = Request.newUploadPhotoRequest(session, image, new Request.Callback() {
@Override
public void onCompleted(Response response) {
Toast.makeText(getApplicationContext(), "Fact shared", Toast.LENGTH_SHORT).show();
}
});
request.executeAsync();
}
});

最佳答案

您的代码有几个问题:

  1. 要发布照片,您需要发布权限,这需要在您首次打开 session 后再次调用 requestNewPublishPermissions

  2. 您在 call() 方法中立即发出请求,而不检查是否 session.isOpened()。这是有问题的,因为:

    一个。 session 会经历许多状态(包括 OPENING、OPENED、等),所有这些都会导致 call() 被调用,你可以仅在 OPENED 或 OPENED_TOKEN_UPDATED 时发出请求状态;

    开业期间可能会有异常(exception) session (如用户取消),这可能导致 session 变得封闭。你需要保护你的请求session.isOpened() 检查。

关于android - 如何在不使用应用程序登录按钮的情况下通过 facebook android sdk 共享照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com