파이썬 요청 모듈을 사용하여 앱스 API에 액세스하려했습니다. http://se.apidoc.anpdm.com/Browse/Method/MailingListService/CreateMailinglist파이썬 요청을 사용하여 apsis API에 액세스 - 요청한 데이터를 올바르게 요청하는 방법
필자가 과거에 메일 링리스트 을 APSIS API를 내 API 키를 전달하고 계정의 전체를 얻을 수 있었다 http://se.apidoc.anpdm.com/Browse/Method/MailingListService/GetAllMailingLists
그러나 requestbody 매개 변수를 API를 통과하는 문제가 발생 메신저, 내가 볼 수 있습니다 그것을 올바르게 인증하지만 그것은 또한 데이터를 전달하려고하면 나쁜 입력 (400)을 반환합니다 내 코드는 현재;
import requests
import csv
import json
import os
API_KEY ="ThEApiKeyGoEsHerE"
headers = {
'Accept':'application/json',
'Content-Type':'application/json',
'User-Agent':'ApsisRestClient- ver1.0.0.0 (Microsoft Windows NT 6.3.9600.0)',
'Authorization':'Basic NmJhMzIxYTEtZjUxNi00ZGZkLWFiMmYtNGYyOWQzYTExYmY2Og==',
'Accept-Encoding':'gzip,deflate',
'Host':'se.api.anpdm.com'
}
theRead = open(os.path.dirname(os.path.realpath(__file__)) + "tester.txt","r", newline='')
message = theRead.read().splitlines()
params= dict(
CharacterSet= message[0],
Description= message[1],
FolderID= message[2],
FromEmail= message[3],
FromName= message[4],
Name= message[5],
ReplyToEmail= message[6]
)
params=json.dumps(params)
params=json.loads(params)
r = requests.post('http://se.api.anpdm.com/v1/mailinglists/', headers=headers ,data={'username' : API_KEY, 'password' : ''}, params=params)
print(r.status_code)
다른 여러 가지 방법으로 시도해 보았습니다.
r = requests.post('http://se.api.anpdm.com/v1/mailinglists/', headers=headers ,data={'username' : API_KEY, 'password' : ''}, json=params)
그리고 :
params={
"CharacterSet": message[0],
"Description": message[1],
"FolderID": message[2],
"FromEmail": message[3],
"FromName": message[4],
"Name": message[5],
"ReplyToEmail": message[6]
}
및
r = requests.post('http://se.api.anpdm.com/v1/mailinglists/', headers=headers, data={'username' : API_KEY, 'password' : '', "FromEmail": message[3], "FromName": message[4], "Name": message[5]})
은 누구도 날 메신저가 자신의 API를이 여분의 데이터를 전달하는데 방법의 이해 도와 드릴까요? 나는 또한 여분의 데이터를 머리글에 포함하려고했지만 지금은 사용할 수 있습니다.
나는 이제 다음과 같은 편집을 시도했다.
data= {
'CharacterSet': message[0],
'Description': message[1],
'FolderID': message[2],
'FromEmail': message[3],
'FromName': message[4],
'Name': message[5],
'ReplyToEmail': message[6],
'username' : API_KEY,
'password' : ''
}
r = requests.post('http://se.api.anpdm.com/v1/mailinglists/', json.dumps(data), headers=headers)
print(r.status_code)
나도 상기 코드 시도
r = requests.post('http://se.api.anpdm.com/v1/mailinglists/', data=json.dumps(data), headers=headers)
print(r.status_code)
SOLUTION 실측치 : 좋아 사람들이 문제를 파악 필자; 스크립트 끝 부분에 다음 코드를 포함하면 api에서 유용한 정보를 전송합니다.
print(r.text)
내가 API를 잘못된 이메일을 전달하려고했다과 마찬가지로이 API를 사용하고자하는 사람들을 위해 작동 할 수 .. 코드를 즐기지 않았다 밝혀; 파이썬에서 올바른 구조를 요청 패키지를 사용하여 POST 요청에 대한
import requests
import csv
import json
import os
API_KEY ="ThEApiKeyGoEsHerE"
headers = {
'Accept':'application/json',
'Content-Type':'application/json',
'User-Agent':'ApsisRestClient- ver1.0.0.0 (Microsoft Windows NT 6.3.9600.0)',
'Authorization':'Basic NmJhMzIxYTEtZjUxNi00ZGZkLWFiMmYtNGYyOWQzYTExYmY2Og==',
'Accept-Encoding':'gzip,deflate',
'Host':'se.api.anpdm.com'
}
theRead = open(os.path.dirname(os.path.realpath(__file__)) + "tester.txt","r", newline='')
message = theRead.read().splitlines()
data= {
'CharacterSet': message[0],
'Description': message[1],
'FolderID': message[2],
'FromEmail': message[3],
'FromName': message[4],
'Name': message[5],
'ReplyToEmail': message[6],
'username' : API_KEY,
'password' : ''
}
r = requests.post('http://se.api.anpdm.com/v1/mailinglists/', data=json.dumps(data), headers=headers)
print(r.status_code)
음 전 이제 데이터 컨테이너에 추가 requestbody 재료이지만 여전히 오류 코드 (401) 인증되지 관해서도 또한 데이터의 헤더를 포함하는 주요 포스트 이 포함되어있다 400 공포의 에러 코드를 포함했다 – user2010884