PARTNER_AUTHENTICATION_FAILED: 指定的集成商密钥未找到或被禁用。未指定集成商密钥
PARTNER_AUTHENTICATION_FAILED: The specified Integrator Key was not found or is disabled. An Integrator key was not specified
我正在开发一个 Django Web 应用程序,该应用程序用于通过电子邮件向用户发送文档,并为此使用了 Docusign API。我正在使用 JWT Grant Authentication 并已成功获得运行良好的访问令牌。
现在,我想通过电子邮件向用户发送文档以供签名。为此,我使用以下代码:
from django.shortcuts import render
from django.http import JsonResponse
from docusign_esign import EnvelopeDefinition, Recipients, Tabs, SignHere, Signer, CarbonCopy, Document, EnvelopesApi, ApiClient
import base64
ACCESS_TOKEN = 'MY_ACCESS_TOKEN'
ACCOUNT_ID = 'MY_ACCOUNT_ID'
BASE_PATH = 'demo.docusign.net/restapi'
def create_document(signer_name, signer_email, cc_name, cc_email):
return f"""
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body style="font-family:sans-serif;margin-left:2em;">
<h1 style="font-family: "Trebuchet MS", Helvetica, sans-serif;
color: darkblue;margin-bottom: 0;">World Wide Corp</h1>
<h2 style="font-family: "Trebuchet MS", Helvetica, sans-serif;
margin-top: 0px;margin-bottom: 3.5em;font-size: 1em;
color: darkblue;">Order Processing Division</h2>
<h4>Ordered by {signer_name}</h4>
<p style="margin-top:0em; margin-bottom:0em;">Email: {signer_email}</p>
<p style="margin-top:0em; margin-bottom:0em;">Copy to: {cc_name}, {cc_email}</p>
<p style="margin-top:3em;">
Candy bonbon pastry jujubes lollipop wafer biscuit biscuit. Topping brownie sesame snaps sweet roll pie.
Croissant danish biscuit soufflé caramels jujubes jelly. Dragée danish caramels lemon drops dragée.
Gummi bears cupcake biscuit tiramisu sugar plum pastry. Dragée gummies applicake pudding liquorice.
Donut jujubes oat cake jelly-o.
Dessert bear claw chocolate cake gummies lollipop sugar plum ice cream gummies cheesecake.
</p>
<!-- Note the anchor tag for the signature field is in white. -->
<h3 style="margin-top:3em;">Agreed: <span style="color:white;">**signature_1**/</span></h3>
</body>
</html>
"""
def make_envelope():
env = EnvelopeDefinition(email_subject='Please sign this document set')
doc = base64.b64encode(bytes(create_document('user@example.com', 'M Aaqib',
'user1@example.com', 'Aaqib'), "utf-8")).decode("ascii")
document = Document(document_base64=doc, name="Order acknowledgement", file_extension="html", document_id="1")
env.documents = [document]
signer = Signer(email='user@example.com', name='M Aaqib', recipient_id="1", routing_order="1")
cc = CarbonCopy(email='user1@example.com', name='Aaqib', recipient_id="2", routing_order="2")
sign_here = SignHere(anchor_string="**signature_1**", anchor_units="pixels",
anchor_y_offset="10", anchor_x_offset="20")
signer.tabs = Tabs(sign_here_tabs=[sign_here])
recipients = Recipients(signers=[signer], carbon_copies=[cc])
env.status = 'sent'
return env
def worker():
envelope_definition = make_envelope()
api_client = ApiClient()
api_client.host = BASE_PATH
api_client.set_default_header("Authorization", f"Bearer {ACCESS_TOKEN}")
envelopes_api = EnvelopesApi(api_client)
results = envelopes_api.create_envelope(ACCOUNT_ID, envelope_definition=envelope_definition)
envelope_id = results.envelope_id
return {"envelope_id": envelope_id}
def home(request):
return JsonResponse(worker())
但是,我得到的回应是这个错误:
ApiException at /
(401)
Reason: Unauthorized
HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache', 'Content-Length': '153', 'Content-Type': 'application/json; charset=utf-8', 'X-DocuSign-TraceToken': '285033cb-cc24-4d43-a6e8-1231a89843c2', 'X-DocuSign-Node': 'DA4DFE71', 'Date': 'Sun, 20 Dec 2020 01:13:09 GMT', 'Vary': 'Accept-Encoding'})
HTTP response body: b'{"errorCode":"PARTNER_AUTHENTICATION_FAILED","message":"The specified Integrator Key was not found or is disabled. An Integrator key was not specified."}'
如果有人能在这方面指导我,我将非常感激
所以,基本上我犯了一个非常愚蠢的错误。我在基本路径中缺少 https://
。
应该是:BASE_PATH = 'https://demo.docusign.net/restapi'
而不是:BASE_PATH = 'demo.docusign.net/restapi'
我正在开发一个 Django Web 应用程序,该应用程序用于通过电子邮件向用户发送文档,并为此使用了 Docusign API。我正在使用 JWT Grant Authentication 并已成功获得运行良好的访问令牌。
现在,我想通过电子邮件向用户发送文档以供签名。为此,我使用以下代码:
from django.shortcuts import render
from django.http import JsonResponse
from docusign_esign import EnvelopeDefinition, Recipients, Tabs, SignHere, Signer, CarbonCopy, Document, EnvelopesApi, ApiClient
import base64
ACCESS_TOKEN = 'MY_ACCESS_TOKEN'
ACCOUNT_ID = 'MY_ACCOUNT_ID'
BASE_PATH = 'demo.docusign.net/restapi'
def create_document(signer_name, signer_email, cc_name, cc_email):
return f"""
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body style="font-family:sans-serif;margin-left:2em;">
<h1 style="font-family: "Trebuchet MS", Helvetica, sans-serif;
color: darkblue;margin-bottom: 0;">World Wide Corp</h1>
<h2 style="font-family: "Trebuchet MS", Helvetica, sans-serif;
margin-top: 0px;margin-bottom: 3.5em;font-size: 1em;
color: darkblue;">Order Processing Division</h2>
<h4>Ordered by {signer_name}</h4>
<p style="margin-top:0em; margin-bottom:0em;">Email: {signer_email}</p>
<p style="margin-top:0em; margin-bottom:0em;">Copy to: {cc_name}, {cc_email}</p>
<p style="margin-top:3em;">
Candy bonbon pastry jujubes lollipop wafer biscuit biscuit. Topping brownie sesame snaps sweet roll pie.
Croissant danish biscuit soufflé caramels jujubes jelly. Dragée danish caramels lemon drops dragée.
Gummi bears cupcake biscuit tiramisu sugar plum pastry. Dragée gummies applicake pudding liquorice.
Donut jujubes oat cake jelly-o.
Dessert bear claw chocolate cake gummies lollipop sugar plum ice cream gummies cheesecake.
</p>
<!-- Note the anchor tag for the signature field is in white. -->
<h3 style="margin-top:3em;">Agreed: <span style="color:white;">**signature_1**/</span></h3>
</body>
</html>
"""
def make_envelope():
env = EnvelopeDefinition(email_subject='Please sign this document set')
doc = base64.b64encode(bytes(create_document('user@example.com', 'M Aaqib',
'user1@example.com', 'Aaqib'), "utf-8")).decode("ascii")
document = Document(document_base64=doc, name="Order acknowledgement", file_extension="html", document_id="1")
env.documents = [document]
signer = Signer(email='user@example.com', name='M Aaqib', recipient_id="1", routing_order="1")
cc = CarbonCopy(email='user1@example.com', name='Aaqib', recipient_id="2", routing_order="2")
sign_here = SignHere(anchor_string="**signature_1**", anchor_units="pixels",
anchor_y_offset="10", anchor_x_offset="20")
signer.tabs = Tabs(sign_here_tabs=[sign_here])
recipients = Recipients(signers=[signer], carbon_copies=[cc])
env.status = 'sent'
return env
def worker():
envelope_definition = make_envelope()
api_client = ApiClient()
api_client.host = BASE_PATH
api_client.set_default_header("Authorization", f"Bearer {ACCESS_TOKEN}")
envelopes_api = EnvelopesApi(api_client)
results = envelopes_api.create_envelope(ACCOUNT_ID, envelope_definition=envelope_definition)
envelope_id = results.envelope_id
return {"envelope_id": envelope_id}
def home(request):
return JsonResponse(worker())
但是,我得到的回应是这个错误:
ApiException at /
(401)
Reason: Unauthorized
HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache', 'Content-Length': '153', 'Content-Type': 'application/json; charset=utf-8', 'X-DocuSign-TraceToken': '285033cb-cc24-4d43-a6e8-1231a89843c2', 'X-DocuSign-Node': 'DA4DFE71', 'Date': 'Sun, 20 Dec 2020 01:13:09 GMT', 'Vary': 'Accept-Encoding'})
HTTP response body: b'{"errorCode":"PARTNER_AUTHENTICATION_FAILED","message":"The specified Integrator Key was not found or is disabled. An Integrator key was not specified."}'
如果有人能在这方面指导我,我将非常感激
所以,基本上我犯了一个非常愚蠢的错误。我在基本路径中缺少 https://
。
应该是:BASE_PATH = 'https://demo.docusign.net/restapi'
而不是:BASE_PATH = 'demo.docusign.net/restapi'