{"id":19407943,"url":"https://github.com/codedrinker/facebook-messenger","last_synced_at":"2025-04-24T09:31:48.235Z","repository":{"id":79744139,"uuid":"80396647","full_name":"codedrinker/facebook-messenger","owner":"codedrinker","description":"A most easily usable Facebook Messenger Platform API","archived":false,"fork":false,"pushed_at":"2019-02-26T06:38:40.000Z","size":53,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T03:06:51.225Z","etag":null,"topics":["facebook-messenger","facebook-messenger-bot","facebook-messenger-platform"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codedrinker.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":"2017-01-30T05:40:18.000Z","updated_at":"2022-11-01T15:35:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"230cc55d-48ca-498e-993e-accb796653ea","html_url":"https://github.com/codedrinker/facebook-messenger","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codedrinker%2Ffacebook-messenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codedrinker%2Ffacebook-messenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codedrinker%2Ffacebook-messenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codedrinker%2Ffacebook-messenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codedrinker","download_url":"https://codeload.github.com/codedrinker/facebook-messenger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250600715,"owners_count":21457017,"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":["facebook-messenger","facebook-messenger-bot","facebook-messenger-platform"],"created_at":"2024-11-10T12:04:37.059Z","updated_at":"2025-04-24T09:31:48.212Z","avatar_url":"https://github.com/codedrinker.png","language":"Java","readme":"# facebook-messenger\nA most easily usable Facebook Messenger Platform API\n\n## Usage\n### 中文接入文档\n[中文文档](readme_zh_CN.md)  \n### Add the maven dependency\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.github.codedrinker\u003c/groupId\u003e\n  \u003cartifactId\u003efacebook-messenger\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n### Start with FMClient instance, get FMClient instance in FMClicent.getInstance().\n\n```java\n FMClient fmClient = FMClient.getInstance();\n```\n### Use with* methods set parameters to FMClient instance. \n\n```java\n//new PostBack Handler to receive the postback message from facebook\npublic class FMPPostbackHandler extends FMMessagePostBackHandler {\n    @Override\n    public void handle(FMReceiveMessage.Messaging message) {\n        log.debug(\"FMPPostbackHandler handlePostBack, sender -\u003e {}, postback -\u003e {}\", message.getSender(), message);\n    }\n}\n```\n```java\n//get FMClient instance, and set token, secret, handler paramter.\nFMClient fmClient = FMClient.getInstance();\nFMPPostbackHandler fmpPostbackHandler = new FMPPostbackHandler();\nfmClient.withAccessToken(\"token\")\n        .withAccessSecret(\"secret\")\n        .withFmMessagePostBackHandler(fmpPostbackHandler);\n```\n### Use signature method to valid the payload.\n\n```java\n\nString xHubSignature = request.getHeader(\"X-Hub-Signature\");\nStringBuilder buffer = new StringBuilder();\nBufferedReader reader = request.getReader();\nString line;\nwhile ((line = reader.readLine()) != null) {\n    buffer.append(line);\n}\nString payload = buffer.toString();\nboolean signature = fmClient.signature(payload, xHubSignature);\nif(signature){\n  //do\n} else {\n  //forbid\n}\n```\n### Use dispatch method to dispatch payload message.\n\n```java\nfmClient.dispatch(payload);\n```\n\n## Road Map\n1.0.0\n\n## Apache License\nCopyright 2017 Chunlei Wang\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n## Example\nhttps://github.com/codedrinker/facebook-messenger-example\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodedrinker%2Ffacebook-messenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodedrinker%2Ffacebook-messenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodedrinker%2Ffacebook-messenger/lists"}