gpt4 book ai didi

ruby-on-rails - 如何在 ruby​​ 中一次处理不同的 FbGraph 异常?

转载 作者:数据小太阳 更新时间:2023-10-29 08:01:37 24 4
gpt4 key购买 nike

我是 Ruby On Rails 的新手,正在开发一个实现了 Facebook 连接的网络应用程序。我正在使用 omniauth & fb_graph gem 对用户进行身份验证并获取用户信息。

将用户在我们网站上的帖子发布到他的 Facebook 墙上时,我在两种不同的用例中遇到了问题:

  1. 如果用户在我的应用程序中更新重复状态消息,我会收到以下异常

    FbGraph::Unauthorized (OAuthException :: (#506) Duplicate status message):
  2. 如果假设用户更改了他的 facebook 密码,那么我从 omniauth 获得的用户访问 token 将变得无效并且我会得到以下异常

    FbGraph::Unauthorized (OAuthException :: Error validating access token: Session 
    does not match current stored session.
    This may be because the user changed the password since the time the session
    was created or Facebook has changed the session for security reasons.):

我目前正在做 this但我想对两个不同的异常执行两个不同的操作。如果状态消息重复,它应该处理第一个异常。

在第二个异常中,它应该要求将 facebook 帐户重新连接到我的应用程序,以便我可以获得新的访问 token 。

请帮忙。谢谢。

最佳答案

根据documentation ,异常应具有 codetypemessage 属性。您可以根据其中一个属性确定要采取的操作(所有异常都有 message,因此这通常很有用,但您可能会发现 code type 在此特定实例中更好。

begin
# log in and post comment
rescue FbGraph::Unauthorized => e
case e.message
when /Duplicate status message/
# handle dup code
when /Error validating access token/
# handle bad credentials
else
raise e
end
end

关于ruby-on-rails - 如何在 ruby​​ 中一次处理不同的 FbGraph 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7426578/

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