Posting attachment to Rest API to a sys_data_source importset table
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-12-2017 05:37 AM
Hello All,
I am trying to post an attachment to service now URL.
Code in Python
#Need to install requests package for python
#easy_install requests
import requests
# Set the request parameters
url = 'https://dev13093.service-now.com/api/now/attachment/file?table_name=sys_data_source&table_sys_id=091...'
# Eg. User name="admin", Password="admin" for this code sample.
user = 'admin'
pwd = 'admin'
files = {'file': ('databaseinstancesample.xls', open('databaseinstancesample.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
# Set proper headers
headers = {"Accept":"*/*"}
#headers = {"Content-Type":"text/csv","Accept":"application/json"}
# Do the HTTP request
response = requests.post(url, auth=(user, pwd), headers=headers, files=files)
#response = requests.post(url, auth=(user, pwd), headers=headers )
# Check for HTTP codes other than 200
if response.status_code != 200:
print('Status:', response.status_code, 'Headers:', response.headers, 'Error Response:',response.json())
exit()
# Decode the JSON response into a dictionary and use the data
data = response.json()
print(data)
The response after post is
Output of script execution.
Status: 201 Headers: {'Set-Cookie': 'JSESSIONID=0DEF4A0F0D36FF9ED98ABBE51BB0B647
;Secure; Path=/; HttpOnly, glide_user="";Secure; Expires=Thu, 01-Jan-1970 00:00:
10 GMT; Path=/; HttpOnly, glide_user_session="";Secure; Expires=Thu, 01-Jan-1970
00:00:10 GMT; Path=/; HttpOnly, glide_user_route=glide.dc79b2032b94f18b5d0c03f6
493be7e6;Secure; Expires=Tue, 30-Jan-2085 14:23:50 GMT; Path=/; HttpOnly, glide_
session_store=D1BF5BCD4F1432007E65F6E01310C76E;Secure; Expires=Thu, 12-Jan-2017
12:09:43 GMT; Path=/; HttpOnly, BIGipServerpool_dev13093=86415898
6.48958.0000; path=/', 'Content-Encoding': 'gzip', 'Location': 'https://dev13093.service-now.com/api/now/attachment/1dbf138d4f1432007e65f6e01310c
7b7/file', 'Pragma': 'no-store,no-cache', 'Cache-control': 'no-cache,no-store,mu
st-revalidate,max-age=-1', 'Expires': '0', 'Content-Type': 'application/json;cha
rset=UTF-8', 'Transfer-Encoding': 'chunked', 'Date': 'Thu, 12 Jan 2017 11:09:43
GMT', 'Server': 'ServiceNow', 'Strict-Transport-Security': 'max-age=15768000; in
cludeSubDomains;'} Error Response: {'result': {'size_bytes': '35030', 'file_name
': 'databaseinstancesample.xls', 'sys_mod_count': '0', 'average_image_color': ''
, 'image_width': '', 'sys_updated_on': '2017-01-12 11:09:43', 'sys_tags': '', 't
able_name': 'sys_data_source', 'encryption_context': '', 'sys_id': '1dbf138d4f14
32007e65f6e01310c7b7', 'image_height': '', 'sys_updated_by': 'soap.guest', 'down
load_link': 'https://dev13093.service-now.com/api/now/attachment/
1dbf138d4f1432007e65f6e01310c7b7/file', 'content_type': 'multipart/form-data; bo
undary=32f54b4061', 'sys_created_on': '2017-01-12 11:09:43', 'size_compressed':
'10032', 'compressed': 'true', 'table_sys_id': '091fa8b56f7f62006f94c951be3ee469
', 'sys_created_by': 'admin'}}
The file is reaching the instance. But the file is in the corrupted state. Not sure what is the mistake I am doing in the code. Can some one throw some thoughts. Thanks for your replies in advance
Regards
Param
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-12-2017 07:05 AM
Hi Paramahanns,
Can you test it with some small text file or word file first and check contents of files are correct?
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader