I came across Project Oxford and became really interested in it and using its API, specifically the emotion one. Microsoft provides sample code
########### Python 2.7 #############
import httplib, urllib, base64
headers = {
# Request headers
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': 'add key',
}
params = urllib.urlencode({
# Request parameters
'faceRectangles': '{string}',
})
try:
conn = httplib.HTTPSConnection('api.projectoxford.ai')
conn.request("POST", "/emotion/v1.0/recognize&%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
This doesn't contain the request body. I thought all I need to add was
body = {
'url': 'url here',
}
and change
conn.request("POST", "/emotion/v1.0/recognize&%s" % params, "{body}",headers)
to
conn.request("POST", "/emotion/v1.0/recognize&%s" % params, body, headers)
However that isn't working. I am getting this when I run it
Traceback (most recent call last):
File "C:/Users/User/Desktop/python/emotion.py", line 29, in <module>
print("[Errno {0}] {1}".format(e.errno, e.strerror))
AttributeError: 'exceptions.TypeError' object has no attribute 'errno'
Any help is much appreciated!