加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 尝试使用remote_api进行连接时获得“因401而刷新”

发布时间:2020-12-20 13:14:14 所属栏目:Python 来源:网络整理
导读:我正在尝试连接到基于 https://cloud.google.com/appengine/docs/python/tools/remoteapi#enabling_remote_api_access_in_your_app和 AppEngine – Remote API returning 401 and too-many-auth以及 GAE: remote_api and Application Default Credentials等
我正在尝试连接到基于 https://cloud.google.com/appengine/docs/python/tools/remoteapi#enabling_remote_api_access_in_your_app和 AppEngine – Remote API returning 401 and too-many-auth以及 GAE: remote_api and Application Default Credentials等在Google App Engine上运行的生产数据存储区.

这是我连接到Google App Engine数据存储区的代码

try:
    import dev_appserver
    dev_appserver.fix_sys_path()
except ImportError:
    print('Please make sure the App Engine SDK is in your PYTHONPATH.')
    raise

from google.appengine.ext.remote_api import remote_api_stub
import os

class RemoteApi:
    @staticmethod
    def use_remote_datastore():
        os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = "my-appengine-default-service-account.json"
        project_id = 'myapp'
        project_address = '{}.appspot.com'.format(project_id)
        RemoteApi.connect2(project_address)

    @staticmethod
    def auth_func2():
        return ('myuser@myemail.com','mypassword')

    @staticmethod
    def connect2(project_address):
            remote_api_stub.ConfigureRemoteApiForOAuth(
            project_address,'/_ah/remote_api',secure=True)

但是我收到了错误

NotSupportedOnThisPlatform

如果我然后设置

secure=False

然后我得到了

INFO     2016-10-01 23:35:32,727 client.py:546] Attempting refresh to obtain initial access_token
....
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/dummy_thread.py",line 73,in allocate_lock
return LockType()
RuntimeError: maximum recursion depth exceeded

我试过跑步

gcloud auth login

并创建一个新的服务帐户,这些都在这里建议AppEngine – Remote API returning 401 and too-many-auth

我有什么想法我做错了吗?

解决方法

您已经提到了auth_func2但没有使用它,根据每次使用oauth请求时没有此信息的remote_api更新,无法建立连接.

更改你的connect2方法,试试这个 –

@staticmethod
def connect2(project_address):
    remote_api_stub.ConfigureRemoteApi(None,auth_func2,project_address)

P.S – 我假设你的project_address是正确的,没有’http://’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读