gpt4 book ai didi

ios - 能够使用 Twitter 的 REST API 发布直接消息,但尝试 GET 会返回 401 错误

转载 作者:行者123 更新时间:2023-11-30 13:58:16 26 4
gpt4 key购买 nike

我正在尝试在我的应用程序中获取直接消息。我可以很好地发布 DM,但是当我尝试从端点 https://api.twitter.com/1.1/direct_messages.json 获取它们时它返回 401 - 未经授权。我真的不明白如何授权我发送私信但不让别人发送给我。

以下是我最初进行身份验证的方式:

if Twitter.sharedInstance().sessionStore.session() == nil {
Twitter.sharedInstance().logInWithCompletion { session, error in
if (session != nil) {
// successfully logged in, call loading functions
} else {
print("error: \(error!.localizedDescription)")
}
}
} else {
// already logged in, call loading functions
}

每次我使用 REST API 发出请求时,都会以

开头
if let userID = Twitter.sharedInstance().sessionStore.session()?.userID {
let client = TWTRAPIClient(userID: userID)

客户端在 DM 的 POST 和 GET 请求中以相同的方式初始化,但 GET 请求失败。

就权限而言,我根据 Twitter 检查了它是否具有读/写/DM 访问权限,并且成功的请求返回 "x-access-level"= "read-write-directmessages";,所以我认为它设置正确。

我一度担心我可能无法正确进行身份验证,因为 Twitter 的文档经历了 O-Auth 的 3 步流程,而我所做的就是告诉 Twitter 单例只需登录......但我通过假设这些步骤都在 logInWithCompletion 函数中执行来合理化这一点。此外,如果我没有经过正确的身份验证,我肯定无法发送 DM,对吗?

关于如何解决这个问题有什么想法吗?我很新,所以这可能是一些美好而简单的事情!我已经查看了其他一些问题,但它们似乎都对请求进行了完整编码,而不是使用像这样的内置方法 - 或者我全都错了?

最佳答案

是的,这是一个愚蠢的问题 - 我将参数留空,因为它们都被标记为“可选” - 就像 ["": ""] 的字典一样。我刚刚将请求中的参数设置为 nil,现在它可以工作了。

关于ios - 能够使用 Twitter 的 REST API 发布直接消息,但尝试 GET 会返回 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325875/

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