我的服务器代码和我的客户端都使用python。我已经有很多客户端服务器的GET请求在工作,现在是发布请求的时候了,我被困住了。我的相关客户代码:
service = build("myAPI", "v1", http=http, discoveryServiceUrl=DISCOVERY_URL)
service.updateUser(websafeKey=websafeKey).execute()我想不出如何构建POST请求的主体。在那之后,我将试图弄清楚如何告诉service有关它,以便它可以发送请求到我的updateUser API。
POST请求主体将需要包含一些字符串和几个列表,稍后可能还需要一个python对象。
我的updateUser API在API中工作得很好--我可以一整天都成功地使用updateUser:
USER_POST_REQUEST = endpoints.ResourceContainer(
UserForm, websafeKey=messages.StringField(1),)
@endpoints.method(USER_POST_REQUEST, UserForm,
path='useradmin/{websafeKey}',
http_method='PUT', name='updateUser')
def updateUser(self, request):
"""Update user w/provided fields & return w/updated info."""
return self._updateUserObject(request)发布于 2016-01-18 16:28:43
我自己想出来的。显然,您所需要做的就是定义一个字典,并将它作为服务方法调用中的body参数传递。我所做的是:
body = {'key1': user['info1'], 'key2': user['info2']}
service = build("myAPI", "v1", http=http, discoveryServiceUrl=DISCOVERY_URL)
service.updateFan(websafeFanKey=fan['websafeKey'], body=body).execute()很简单,真的,但我确实很难找到任何记录这件事的东西。希望其他人能从中受益。
发布于 2021-11-30 08:19:07
body = {"messages":"XXX"}
pubsubpublisher = googleapiclient.discovery.build('pubsub', 'v1', credentials=credentials)
response = pubsubpublisher.projects().topics().publish(topic='projects/{project-number}/topics/{topic-name}',body=body).execute()这行得通
https://stackoverflow.com/questions/34458665
复制相似问题