尝试从 Reddit API 获取数据时出现 403 错误

2024-01-02

我正在使用 oAuth 来验证我的应用程序。我设法获得了代码、access_token 和refresh_token。因此下一步将尝试获取有关当前用户的信息。

    public async void GetCurrentUser()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", AccessToken);
            var response = await client.GetAsync("https://oauth.reddit.com/api/v1/me");
            if (response.IsSuccessStatusCode)
            {
                var json = await response.Content.ReadAsStringAsync();
                var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(json);
            }
        }
    }

这就是我用来做到这一点的方法。但是,响应始终是 403(禁止)错误代码。知道可能出什么问题吗? access_token是我发出请求时得到的https://oauth.reddit.com/api/v1/access_token https://oauth.reddit.com/api/v1/access_token

我认为令牌是正确的,因为当我使用 Fiddler 创建相同的请求时它可以工作。


ANSWER:

通过添加自定义用户代理修复它

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, _endpointUri + "me");
            request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
            request.Headers.Add("User-Agent", Uri.EscapeDataString("android:com.arnvanhoutte.redder:v1.2.3 (by /u/nerdiator)"));

            var response = await client.SendAsync(request);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试从 Reddit API 获取数据时出现 403 错误 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 按成员序列化

    我已经实现了template
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • Vue模板如何禁止控制台登录?

    起源 log Vue prototype log console log 禁止场所
  • 在 Haskell 中从 Excel 读取数据

    我想从 xls 文件获取数据 而无需手动打开 Excel 一种可能性是使用 COM 自动化 有com 1 2 3 http hackage haskell org package com 1 2 3 and hdirect http hac
  • PHP比较二维数组

    我想知道如何比较两个二维数组的值 第一个数组 Array 1 0 gt Array 0 gt a 1 gt Array 0 gt b 2 gt Array 0 gt c 第二个 Array 2 0 gt Array 0 gt a 1 gt
  • 并非所有实例都在 Azure 应用服务中运行

    我正在使用 Azure 应用服务 它托管使用以下命令从事件中心读取数据的应用程序EventProcessorHost 我分配了 6 个实例 手动缩放 来运行 我检查了指标 CPU Time 在App Service中发现只有5个实例正在运行
  • JSON.NET Visual Studio 2008 和 .NET 3.5 紧凑框架

    我可以在 Visual Studio 2008 中使用 JSON NET 和 NET 3 5 Compact Framework 吗 如何在 IDE 中安装 配置它 我在网上搜索过但找不到 我找到了这个Visual Studio 2008
  • Elmah:如何从错误报告中获取 JSON HTTP 请求正文

    我正在使用 Elmah 来记录异常 如果请求是基于表单的请求 即 Content Type application x www form urlencoded 则 Elmah 非常擅长记录请求主体 但对于基于 JSON 的请求 其中内容类型
  • std::shared_ptr 初始化:make_shared() vs shared_ptr(new Foo) [重复]

    这个问题在这里已经有答案了 有什么区别 std shared ptr
  • 使用 javascript 从 div 获取值:始终未定义[重复]

    这个问题在这里已经有答案了 当我从 div 获取值时遇到这个问题 function sync var n1 document getElementById editor value alert n1 var n2 document getE
  • Spring Data JPA 与远程 MySQL 服务器的 ssh 隧道

    我使用 Spring Data JPA 和 Hibernate 作为持久性提供程序 并结合远程 MySQL5 服务器来执行定期复制内部数据子集的作业 该作业 即石英调度的 Java 应用程序 每天运行一次 大约需要30秒完成同步 出于安全原
  • Django 内联表单集和选择字段生成太多数据库查询

    我有一个包含许多外键字段的模型 例如具有 类型 级别 颜色 强度 字段的模型产品 只是一个通用示例 然后 我有一个页面可以使用类型表单编辑给定类型的所有产品 并将产品作为内联表单集 并可以选择添加其他内联产品extra 10 我觉得很奇怪的
  • 如何对二进制 Thrift 文件进行逆向工程?

    我被要求处理一些序列化为二进制的文件 不幸的是不是文本 JSON Thrift http incubator apache org thrift 对象 但我无权访问创建这些文件的程序或程序员 所以我不知道它们的结构 字段顺序等 有没有办法使
  • python:如何将列表中的每个值与另一个列表中的所有值相乘

    EDIT2 我已经删除了其余的代码 这样我就不会破坏解决方案 感谢您的帮助 编辑 我包含了我的整个代码 我不想包含它 因为我不想破坏任何自己尝试这个问题的人的解决方案 但我需要帮助 所以就在这里 我通过执行以下操作手动完成此操作 但我希望它
  • 等号(=) 和 IN 与子查询的区别

    我有一个查询需要 20 秒才能执行 请按照我的查询操作 SELECT MATLIGA COD MAT FAMILIA FROM ORCAMENTOS dbo OR 1INSUMOS INSUMOS INNER JOIN ORCAMENTOS
  • SQLite3和多进程

    当多个进程访问同一个SQLite数据库文件时 如何保证正确性 首先 避免并发访问sqlite数据库文件 并发性是 sqlite 的弱点之一 如果您有高度并发的应用程序 请考虑使用其他数据库引擎 如果您无法避免并发或删除 sqlite 请包装
  • XPath 不适用于动态 HTML 文档

    注意 这个问题及其答案对于大多数 所有支持 XPath 的编程语言和库都有效 而不仅仅是 JavaScript 使用以下代码创建一个非常简单的 HTML 页面 实际代码加载远程页面 但我试图将您的注意力集中在这里的主要问题上 var dt
  • 无法识别的选择器发送到实例 UIViewController

    我不断收到错误 NSInvalidArgumentException 原因 UIViewController setPhotoCellName 无法识别的选择器发送到实例 当我进入准备segue调用时 目前我有 TabBarControll
  • 如何在 Grails 中外部化自定义约束?

    我想将自定义约束验证器闭包保留在属性的约束定义之外 因为这样更容易阅读和重用 但我做错了 我正在尝试这样做 class City String name static constraints name nullable false blan
  • 更新模型并将更新操作与 UI 绑定

    我目前已经使用 AngularJS 开发了一个内容表 该表将基于 Angular 服务 模型 进行填充 该模型调用 Web 服务并返回列表 并使用 ng repeat 并创建一个表及其所有内容 目前一切正常 但我有一个小问题 在表的一部分
  • 表达式 awk、python 中的无效字符

    我有一个如下所示的命令 ps v p 2585 awk if 9 MEM print 9 现在这在 bash 中运行得很好 它只需要你给它的任何 pid 的内存部分 不过我现在正在尝试用 python 实现它 但遇到了一些问题 这是我在 p
  • 尝试从 Reddit API 获取数据时出现 403 错误

    我正在使用 oAuth 来验证我的应用程序 我设法获得了代码 access token 和refresh token 因此下一步将尝试获取有关当前用户的信息 public async void GetCurrentUser using va