当前位置: 首页 > 知识库问答 >
问题:

微软面对API抱怨不好的关键,但关键工作在控制台?

车明贤
2023-03-14

我一直试图解决这个错误,但我找不到什么似乎是错误的。

我正在使用Microsoft认知服务Face APIPython。下面是我的代码:

import requests
import json
import http.client, urllib, base64, json

body = {"URL": "http://www.scientificamerican.com/sciam/cache/file/35391452-5457-431A-A75B859471FAB0B3.jsdfpg" }

headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "xxx"
}

try:

    r=requests.post('https://api.projectoxford.ai/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender',json.dumps(body) , headers)
    print(r.content)
except Exception as e:
    print(format(e))

当我运行脚本时,我得到:

"code":"Unspecified","message":"Access denied due to invalid subscription key. Make sure you are subscribed to an API you are trying to call and provide the right key."

问题是,当我在控制台上放上完全相同的键时,一切都很好。所以我很确定这不是关键。

错误一定在我的代码上,但我找不到它。

任何方向正确的提示将不胜感激,谢谢

共有1个答案

汪欣德
2023-03-14

错误在于您遵循request.post调用的方式。这个函数的参数是位置的,正如在另一篇文章中提到的那样,因此头不作为头传递,所以键不被识别。如果指定每个参数是什么,将避免此错误。即:

r=requests.post('https://api.projectoxford.ai/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender',params=None, data = json.dumps(body), headers = headers)   

另外,图像的URL没有指向有效的JPEG文件(扩展名是乱码,可能是错别字)。

 类似资料:
  • 问题内容: 学习Java一段时间后,第一次使用关键字就让我非常困惑。 这就是我的困惑。我写了以下代码: 我得到以下输出: 现在,这里的第一个问题是:为什么并指向基类而不是Child类?而且如果指向基类的,为什么要调用子类的?字段和方法的行为是否有所不同? 但是,主要关注的是关键字的机制。我的意思是,您知道(指向)当前对象。如果您考虑一下,这不是魔术行为。在某处一定有田野。例如,类的文字是不可见的,

  • 我做了一个动画为一些元素(图像和按钮)淡入淡出使用不透明度。除了Safari之外,它在所有浏览器上都能完美地工作。当我尝试在Safari中运行它时,我的所有元素都有100%的不透明度,没有任何动画可以看到… 来自button元素的示例: 以下是我的HTML: 和我的CSS:

  •  点下鼠标右键后呼叫的 KAG 的游戏界面。  例如使用右键来调出存储/读取画面。 总之先上范例  调用右键菜单的指令是 rclick 。使用这个指令、可以设定点下右键后呼叫的剧本段落。此外,也可以不使用呼叫(调用菜单后,使用return可以返回游戏),而是直接跳转到某个标签(右键跳跃后无法返回,等同于jump)。  例如,在 rlick.ks 里写入以下内容。 例: *rclick @rclic

  • 我正在工作的HTML5横幅有很多CSS3动画。为了制作可重用的关键帧动画,我在单个元素上使用了多个动画。除了Safari之外一切都很顺利。 CSS: jsfiddle链接 可行的解决方案: 用另一个/更多元素包装该元素&为每个元素添加单个动画。此解决方案需要为包装器元素设置额外的样式。 将多个动画合并为一个&此解决方案增加了的复杂性,并且对于复杂的动画不容易维护。 根据另一个stackOverfl

  • 问题内容: “ this”关键字如何工作? 问题答案: [§11.1.1]的关键字 所述关键字的计算结果为当前执行上下文的ThisBinding的值 这个绑定是JavaScript解释器在评估JavaScript代码时所维护的,例如特殊的CPU寄存器,其中包含对对象的引用。每当在以下三种情况之一中建立执行上下文时,解释器都会更新ThisBinding: 1.初始全局执行上下文 在顶级代码中评估的J

  • 问题内容: 我从一开始就阅读Java教程,并且对字段或变量上的关键字有疑问。如这里所说: 类变量是使用static修饰符声明的任何字段;这告诉编译器,无论该类被实例化了多少次,该变量确实存在一个副本。可以将定义特定类型自行车的齿轮数的字段标记为静态,因为从概念上讲,相同数量的齿轮将应用于所有情况。 这样,我想如果您有一个对象(在这种情况下,该类是一个实例),并且在其中有一个字段,则与您是否喜欢or