使用Python和Trello API将成员添加到卡片
我在用我的Python脚本给一个卡片添加成员时遇到了困难。我正在循环遍历一个包含卡片ID的元组列表,想要更新这些卡片。我可以顺利执行PUT命令,但执行POST命令时却出现了错误。我对Python脚本还比较陌生,不太知道该如何进一步排查问题……请帮帮我。
执行PUT语句对我来说不太有效,因为它会把卡片上已有的成员都移除,只留下我指定的那个成员……我理想的情况是直接用POST命令把成员添加到卡片上。
这是我正在使用的代码:
for card in cards:
try:
post_url = 'https://api.trello.com/1/cards/' + card[0] + '?key=<myKey>&token=<myWriteToken>'
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(post_url, data='idMembers=<myMemberID>')
request.get_method = lambda: 'POST'
url = opener.open(request)
except urllib2.HTTPError, e: print 'ERROR occured'
print e.code
print e.read()
我也尝试过这样做:
for card in cards:
try:
post_url = 'https://api.trello.com/1/cards/' + card[0] + '?key=<myKey>&token=<myWriteToken>'
opener = urllib2.build_opener(urllib2.HTTPHandler)
query_args = {'idMembers':'<myMemberID>'}
encoded_args = urllib.urlencode(query_args)
request = urllib2.Request(post_url, encoded_args)
request.get_method = lambda: 'POST'
url = opener.open(request)
except urllib2.HTTPError, e: print 'ERROR occured'
print e.code
print e.read()
1 个回答
1
你不应该向 /1/cards/(idCard)
发送请求,因为这根本不是一个有效的路径。要想给一个卡片添加成员,你应该向 /1/cards/(idCard)/idMembers
发送请求。