gpt4 book ai didi

regex - 解析 Facebook OAuth 2 访问 token 字符串的最聪明方法

转载 作者:行者123 更新时间:2023-12-04 14:52:30 27 4
gpt4 key购买 nike

有点晚了,但我对自己没有想出更优雅的东西感到失望。任何人都有更好的方法来做到这一点......

当您将 OAuth 代码传递给 Facebook 时,它会使用包含 access_token 的查询字符串进行响应。和 expires值。

access_token=121843224510409|2.V_ei_d_rbJt5iS9Jfjk8_A__.3600.1273741200-569255561|TxQrqFKhiXm40VXVE1OBUtZc3Ks.&expires=4554

尽管如果您请求离线访问权限,则没有 expires字符串如下所示:
access_token=121843224510409|2.V_ei_d_rbJt5iS9Jfjk8_A__.3600.1273741200-569255561|TxQrqFKhiXm40VXVE1OBUtZc3Ks.

我试图编写一个满足任一条件的正则表达式。没有骰子。所以我最终得到了一些非常丑陋的 Ruby:
s = s.split("=")
@oauth = {}
if s.length == 3
@oauth[:access_token] = s[1][0, s[1].length - 8]
@oauth[:expires] = s[2]
else
@oauth[:access_token] = s[1]
end

我知道一定有更好的方法!

最佳答案

拆分上 &首先符号,然后在 = 上拆分每个结果?这是可以应对顺序变化的方法,因为它单独解析每个键值对。

或者,应该工作的正则表达式将是......

/access_token=(.*?)(?:&expires=(.*))/

关于regex - 解析 Facebook OAuth 2 访问 token 字符串的最聪明方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825214/

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