im试图用圣杯构建一个简单的api + lambda,它可以接收POST请求,然后在添加一些身份验证的同时将其转发到另一个API。当我在本地运行我的圣杯代码时,我可以发送请求并打印我在圣杯控制台内发送的有效载荷,但我无法转发我的请求。我没有找回我的代码中存在的任何错误或其他打印语句。我不知道在哪里可以找到更多答案,所以我在这里问。
from chalice import Chalice
import requests
app = Chalice(app_name='redirect_url')
app.debug = True
TOKEN_URL = "https://redirect.com/v0/token"
USERNAME = 'email@email.com'
PASSWORD = 'Password01021'
@app.route('/redirect_url', methods=['POST'])
def get_payload():
update_payload = app.current_request.json_body
print(update_payload)
def fetch_auth_token():
username = USERNAME
password = PASSWORD
data = {
"grant_type": "password",
"username": username,
"password": password
}
response = requests.post(TOKEN_URL, data=data)
token = response.json()
print(token)
如果我向端点(http://127.0.0.1:8000/redirect_url)发送了一个请求,我看到我的请求打印在圣杯日志中,但是没有看到令牌请求。 我将不胜感激
答案 0 :(得分:0)
这有点老了,但我想我应该为社区中的那些新来圣杯的人回答。
您希望在不调用函数的情况下触发该函数。应该是:
import requests
app = Chalice(app_name='redirect_url')
app.debug = True
TOKEN_URL = "https://redirect.com/v0/token"
USERNAME = 'email@email.com'
PASSWORD = 'Password01021'
@app.route('/redirect_url', methods=['POST'])
def get_payload():
update_payload = app.current_request.json_body
APIresponse = fetch_auth_token()
print(APIresponse) ## If you want to show it right before the update_payload
print(update_payload)
def fetch_auth_token():
username = USERNAME
password = PASSWORD
data = {
"grant_type": "password",
"username": username,
"password": password
}
response = requests.post(TOKEN_URL, data=data)
return response.json()```