如何将请求发送到谷歌应用引擎中设置为"login:admin"的网址?

Ant*_*ong 6 python google-app-engine

在我的app.yaml中,网址被定义为:

- url: /api/.*
  script: main.app
  login: admin
  secure: always
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码与api交谈

import requests

def main():
    r = requests.get("https://test.appspots.com/api/get_data", auth=('me@me.com', 'password'))
    print r.status_code, r.text

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

但身份验证失败了,从输出判断,我重定向到登录页面.

如何使用python进行身份验证和访问URL?

Jos*_*h J 1

login: admin指示 Google App Engine 将与给定模式匹配的 URL 限制为经过 Google 身份验证并且是 Google App Engine 项目管理员的用户。由于此限制,无法使用标准 HTTP 基本身份验证。如果您有有效的 oAuth Bearer 令牌,您可以将其传递到标头中requests.get以处理所需的身份验证。

请参阅这篇有关 appidentity 的文章,了解一些可能的选项: https: //cloud.google.com/appengine/docs/python/appidentity/