我最难以尝试生成 OAuth2 token 以便与 Bitly API v4 集成。他们的文档很难理解,我无法在网上或在StackOverflow上找到有关如何完成此操作的大量信息。我能够使它正常工作,并希望与其他将来挠头的人分享该解决方案。
以下是生成通用访问 token ,获取组Guid ,,生成OAuth2 token 以及调用Bitly 缩短 API请求的分步指南。
最佳答案
Bitly API -获取 oAuth2访问 token 的步骤,并使用缩短请求以使用 postman 来检索Tiny Url:
在花了一天的时间来解决这个问题之后,我想我会发布此消息,以便它可以帮助尝试与 Bitly API V4 集成的人。
注意: Bitly API V3将于2020年3月1日停用,因此请确保尽快迁移到V4。响应中的所有向导和其他私有(private)字段均已出于隐私目的进行了更改。
单击此链接引用Bitly API Documentation
1.)生成访问 token :
使用您的凭据登录bitly.com,然后单击右上角的“汉堡包”菜单。单击您的用户名,然后单击通用访问 token 。需要此通用访问 token 来检索组Guid 。您将需要此Group Guid来进行简短的URL请求以及您的访问 token 。
2.)检索组向导:
向https://api-ssl.bitly.com/v4/groups发出 GET 请求以获取您的group_guid。 您将在“授权”字段中使用您的通用访问 token 。
下图是标题的外观:
您应该返回一个类似于以下JSON的JSON响应:
检索组Guid GET响应的JSON响应:
{
"groups": [
{
"created": "2019-12-18T13:45:21+0000",
"modified": "2019-12-18T13:45:21+0000",
"bsds": [],
"guid": "XZXUYSJAJ43",
"organization_guid": "JsjFtE841883",
"name": "username",
"is_active": true,
"role": "org-admin",
"references": {
"organization": "https://api-ssl.bitly.com/v4/organizations/JsjFtE841883"
}
}
]
}
您的guid值是您的快捷方式和其他请求中使用的 group_guid 。
3.)检索您的client_id和client_secret
通过使用用户凭据登录到bitly.com来注册应用程序,然后将为您的应用程序分配一个client_id和一个client_secret。您可以通过单击页面右侧的Hamburger菜单来完成此操作,单击您的用户名,Registered OAuth Apps,在底部应该是一个按钮,上面写着 REGISTER NEW APP 。
4.)生成OAuth2访问 token
请引用Bitly Documentation,然后在“身份验证”选项卡下导航至“为访问 token 交换用户名和密码” 。
• postman
•创建对https://api-ssl.bitly.com/oauth/access_token的新 POST 请求。
•复制“ curl 命令”,但用“用户登录名”替换用户名,并用“用户登录名”替换密码。
•单击“导入”选项卡,然后选择“粘贴原始文本并粘贴在curl上”命令
•在“授权”选项卡中,将 client_id 粘贴到用户名字段中,然后将 client_secret 粘贴到密码字段中。这将为您执行base64encoding。
•您的标题仅需要主机和内容类型键和值。您的授权将是一个临时标题字段,并会自动为您生成。
•您的 body 需要:
grant_type :密码(实际字密码)
用户名:您的bitly.com用户名
密码:您的bitly.com密码
以下是您的 body 外观的图片:
•单击发送,您将收到访问 token 。
5.)缩短URL
•在 postman 中打开新标签,然后向https://api-ssl.bitly.com/v4/shorten发出投递请求
• header 应包括:
•主机:api-ssl.bitly.com
•授权:承载(您从第4步获得的访问 token )
•内容类型:application / json
•您的正文应该包含以下JSON:
{
"long_url": "http://twitter.com",
"group_guid": "guid field from Group Guid Response in Step 2"
}
•单击发送,您应该会看到类似以下的JSON响应:
{
"created_at": "2019-12-18T21:50:47+0000",
"id": "yhoo/2PYRS",
"link": "http://yhoo/2PYRS",
"custom_bitlinks": [],
"long_url": "http://yahoo.com/",
"archived": false,
"tags": [],
"deeplinks": [],
"references": {
"group": "https://api-ssl.bitly.com/v4/groups/yourgroupguid"
}
}
JSON响应中的链接值将是您的新Tiny URL链接。