正在尝试弄清楚如何发送 PUT 请求来更新 group_permissions 或 permissions,不确定应该用哪一个。
基本上是想让某个分类变为只读,这样用户只能查看和回复已发布的帖子。
查看源代码后,似乎分类控制器只允许使用 permissions 字段,而不是 group_permissions。
我尝试了以下几种方式,但即使收到错误,它也只是原样返回了分类信息:
data = json.dumps([{'group_name':'admin','permission_type':1},{'group_name':'everyone','permission_type':2}])
params_for_update_cat = {
'api_key': API_KEY,
'api_username':"MarketDiscuss",
"name": name_and_ticker,
"color": bg_colour,
"text_color": text_color,
"permission": json.dumps({'group_name':'everyone','permission_type':2}) # 尝试过
}
# 也尝试过这个
"permission[]": [{'group_name':'admin','permission_type':1},{'group_name':'everyone','permission_type':2}]
# 还尝试过这个:
"permission": [{'group_name':'admin','permission_type':1},{'group_name':'everyone','permission_type':2}]
update_cat_url = f'{BASE_URL}/categories/{cat_id}'
ra = rq.put(url=update_cat_url, params=params_for_update_cat)
print(ra.url)
http://mydomainnnnn.com/categories/49?api_key=scrubbed&api_username=ausername&name=Royal+Bank+of+Scotland+-+%28RBS%29&color=8B1D7B&text_color=FFFFFF&permission=%7B%22group_name%22%3A+%22everyone%22%2C+%22permission_type%22%3A+2%7D
print(ra.content)
b'{"success":"OK","category":{"id":49,"name":"Royal Bank of Scotland - (RBS)","color":"8B1D7B","text_color":"FFFFFF","slug":"rbs","topic_count":0,"post_count":0,"position":9,"description":null,"description_text":null,"topic_url":"/t/about-the-royal-bank-of-scotland-rbs-category/65","read_restricted":false,"permission":null,"parent_category_id":9,"notification_level":null,"can_edit":true,"topic_template":null,"has_children":null,"sort_order":null,"sort_ascending":null,"show_subcategory_list":false,"num_featured_topics":3,"default_view":null,"subcategory_list_style":"rows_with_featured_topics","default_top_period":"all","available_groups":["admins","everyone","moderators","staff","trust_level_0","trust_level_1","trust_level_2","trust_level_3","trust_level_4"],"auto_close_hours":null,"auto_close_based_on_last_post":false,"group_permissions":[{"permission_type":1,"group_name":"everyone"}],"email_in":null,"email_in_allow_strangers":false,"mailinglist_mirror":false,"suppress_from_latest":false,"all_topics_wiki":false,"can_delete":true,"cannot_delete_reason":null,"allow_badges":true,"custom_fields":{},"allowed_tags":[],"allowed_tag_groups":[],"topic_featured_link_allowed":true,"uploaded_logo":null,"uploaded_background":null}}'
我还尝试更新:
"read_restricted": True # 在请求参数中
但它仍然保持为 false。是否有某种默认的值列表,说明在 API 请求中可以或不可以更新哪些字段?我在文档中没有找到相关信息。
任何帮助都将不胜感激,谢谢
