【问题标题】:how to fix 401 unauthorized error for update blogger usin api-3 and OAuth-2.0如何使用 api-3 和 OAuth-2.0 修复更新博主的 401 未授权错误
【发布时间】:2019-04-16 10:59:33
【问题描述】:

我正在尝试使用 javascript 代码更新使用 blogger 制作的博客中的帖子,我已经按照文档中所说的使用 OAuth2 完成了所有工作,但我仍然收到响应“401 Unauthorized”我不知道出了什么问题在这段代码中? 注意:我已经制作了登录代码并且它正在工作..

var user = GoogleAuth.currentUser.get();
if (user.Zi!=null){TheToken="Bearer " + user.Zi.access_token;} 

$.ajax
      ({
        url: 'https://www.googleapis.com/blogger/v3/blogs/355327149591714411/posts/7690459698185134878',
        type: 'put',
        Authorization: TheToken,
        contentType: 'application/json',
        data:
        {
          'kind': 'blogger#post',
          'id': '7690459698185134878',
          'blog': {'id': '355327149591714411'},
          'url': 'https://www.wmccoregon.org/2019/04/data-of-settings.html',
          'selfLink': 'https://www.googleapis.com/blogger/v3/blogs/355327149591714411/posts/7690459698185134878',
          'title': 'Data of Settings',
          'content': DataToUpdate
        },
        success: function(data)
        {
          AdminData(vReadSettings,0,0);
        },
        error: function(xhr)
        {
          alert("An error occured: " + xhr.status + " " + xhr.statusText + " " + xhr.responseText);
        }
      });

【问题讨论】:

标签: javascript oauth-2.0 blogger


【解决方案1】:

您确定您确实在标头中正确传递了不记名令牌吗?

据我所知,Authorization 不是jquery.ajax 的选项(除非您将其扩展至某处)。如果您使用的是不记名令牌,则您创建的字符串看起来是正确的,但您需要在 Authorization 标头中传递它。

类似:

$.ajax
  ({
    url: 'https://www.googleapis.com/blogger/v3/blogs/355327149591714411/posts/7690459698185134878',
    type: 'put',
    headers: {
      "Authorization": TheToken
    },
  });

【讨论】:

  • 感谢您的回复...我尝试了您的想法..当我使用标头(带 s)时,它给了我“400 bad request”但是当我尝试不带 s“标头”时它返回到原始问题..“401 Unauthorized..问题是ajax是我知道提交http请求的唯一方法..我不知道我还能尝试什么以及如何尝试??
  • 您在问题中提到的文件是什么?你能把它们链接起来吗?
  • google 文档 .. 真的很糟糕 :( 我花了 3 周时间尝试这个和那个并解码他们的神秘和谜题并解决了很多问题 unitl 我在这里解决了这个问题......但不能当涉及到最后一个问题时找到更多帮助!!这是我正在谈论的文档之一的链接:developers.google.com/blogger/docs/3.0/using
  • 好的。作为一个起点,为了找出问题所在,您是否能够使用 cURL 请求或像 PostMan 这样的 API 客户端工具使用您的授权令牌向博主后端发出成功的请求?这将有助于缩小您的请求代码是否存在问题或令牌本身是否有问题。
  • 我以前从未使用过它们.. 但我明白你的意思.. 我会阅读它们并尝试一下,然后我们会看到 :) .. 如果您有任何简短而直接的链接或资源关于 cURL,或者如果你可以给我写一个命令应该如何或看起来如何的例子,那么我将非常感激 :)
猜你喜欢
  • 2012-02-13
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 2023-03-03
  • 2020-12-09
  • 1970-01-01
相关资源
最近更新 更多