{"id":17246207,"url":"https://github.com/hanson/weworkmsg","last_synced_at":"2025-04-14T04:11:24.600Z","repository":{"id":219080882,"uuid":"748063881","full_name":"Hanson/WeworkMsg","owner":"Hanson","description":"全语言通用的企业微信会话存档SDK","archived":false,"fork":false,"pushed_at":"2024-02-20T13:18:39.000Z","size":4864,"stargazers_count":16,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T18:04:46.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hanson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-25T07:40:45.000Z","updated_at":"2025-03-20T05:28:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"d4689786-86c2-4b20-9d44-94b70e5dc614","html_url":"https://github.com/Hanson/WeworkMsg","commit_stats":null,"previous_names":["hanson/weworkmsg"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2FWeworkMsg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2FWeworkMsg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2FWeworkMsg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanson%2FWeworkMsg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hanson","download_url":"https://codeload.github.com/Hanson/WeworkMsg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819403,"owners_count":21166477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T06:32:43.328Z","updated_at":"2025-04-14T04:11:24.578Z","avatar_url":"https://github.com/Hanson.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WeworkMsgSdk\n全语言通用的企业微信会话存档SDK\n\n## 介绍\n此项目基于 https://github.com/NICEXAI/WeWorkFinanceSDK 实现\n\nWeworkMsg 会以服务运行，对外暴露接口提供服务，开发者只需要进行 http 接口调用，无需关心各种复杂的兼容问题。\n\n## 配置\n\n* `.env` 里面配置好企业的相关信息\n* 密钥信息粘贴在 private_key.pem 里面\n* PORT 为服务的端口号\n\n## 运行\n\n* 下载最新版本 https://github.com/Hanson/WeworkMsg/releases/\n* 复制 libWeWorkFinanceSdk_C.so 动态库文件到系统动态链接库默认文件夹下，或者复制到任意文件夹并在当前文件夹下执行 export LD_LIBRARY_PATH=$(pwd)命令设置动态链接库检索地址\n* 在 WeworkMsg 目录下新建文件 `.env` 和 `private_key.pem`，并进行配置\n* 运行 `./WeworkMsg`\n\n## 接口调用\n\n服务提供了两个接口，均以 POST json 的方式进行调用\n\n* `/get_chat_data` 获取会话列表，参数例子`{\"seq\":0,\"limit\":100,\"timeout\":3}`\n* `/get_media_data` 获取媒体文件，参数例子`{\"sdk_file_id\":\"xxx\",\"timeout\":3}`\n\n### php\n\n```php\n\u003c?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL =\u003e 'http://localhost:8888/get_chat_data',\n   CURLOPT_RETURNTRANSFER =\u003e true,\n   CURLOPT_ENCODING =\u003e '',\n   CURLOPT_MAXREDIRS =\u003e 10,\n   CURLOPT_TIMEOUT =\u003e 0,\n   CURLOPT_FOLLOWLOCATION =\u003e true,\n   CURLOPT_HTTP_VERSION =\u003e CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST =\u003e 'POST',\n   CURLOPT_POSTFIELDS =\u003e'{\n    \"seq\": 0,\n    \"limit\": 100,\n    \"timeout\": 3\n}',\n   CURLOPT_HTTPHEADER =\u003e array(\n      'Content-Type: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n```\n\n### python\n\n```python\nimport http.client\nimport json\n\nconn = http.client.HTTPSConnection(\"localhost\", 8888)\npayload = json.dumps({\n   \"seq\": 0,\n   \"limit\": 100,\n   \"timeout\": 3\n})\nheaders = {\n   'Content-Type': 'application/json'\n}\nconn.request(\"POST\", \"/get_chat_data\", payload, headers)\nres = conn.getresponse()\ndata = res.read()\nprint(data.decode(\"utf-8\"))\n```\n\n### go\n\n```go\npackage main\n\nimport (\n   \"fmt\"\n   \"strings\"\n   \"net/http\"\n   \"io/ioutil\"\n)\n\nfunc main() {\n\n   url := \"http://localhost:8888/get_chat_data\"\n   method := \"POST\"\n\n   payload := strings.NewReader(`{\"seq\":0,\"limit\":100,\"timeout\":3}`)\n\n   client := \u0026http.Client {\n   }\n   req, err := http.NewRequest(method, url, payload)\n\n   if err != nil {\n      fmt.Println(err)\n      return\n   }\n   req.Header.Add(\"Content-Type\", \"application/json\")\n\n   res, err := client.Do(req)\n   if err != nil {\n      fmt.Println(err)\n      return\n   }\n   defer res.Body.Close()\n\n   body, err := ioutil.ReadAll(res.Body)\n   if err != nil {\n      fmt.Println(err)\n      return\n   }\n   fmt.Println(string(body))\n}\n```\n\n如需要其他语言例子，可以提 issue\n\n## 加交流群\n\n![image](https://github.com/Hanson/WeworkMsg/assets/10583423/abff87b3-c6b6-4246-902e-a34929dc9373)\n\n## 相关项目\n* 开源scrm https://github.com/juhe-scrm/juhe-scrm\n* 高级企微接口 https://github.com/hanson/vbot\n* 聚合聊天 https://juhebot.com\n\n\n![cd788338d401375c814f0fd66f4fbb81](https://github.com/Hanson/vbot/assets/10583423/034ce0fb-12c2-4ce0-8335-cf5132b17bca)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanson%2Fweworkmsg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanson%2Fweworkmsg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanson%2Fweworkmsg/lists"}