Whatsapp Cloud API 更新头像
Whatsapp Cloud API Update Profile Picture
我正在尝试使用 WhatsApp Cloud 上传图片作为个人资料图片 API *.
After creating an application using WhatsApp Cloud API I'm not allowed to access neither using the regular application nor using Business Application. It says something like "try again in one hour". So I have to implement everything using the API.
阅读文档并导入后 Postman Endpoints 我找到了一个名为 业务配置文件 > 更新业务配置文件
https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/whatsapp_business_profile
它有一个字段 "profile_picture_url"
,我已经尝试过发布媒体 https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/media
然后使用给定的 ID y 使用 https://graph.facebook.com/{{Version}}/{{Media-ID}}
来获取 URL 但它没有不工作。其余信息更新成功
{
"messaging_product": "whatsapp",
"address": "",
"description": "Simple Bot",
"email": "...@gmail.com",
"websites": [
"https://..."
],
"profile_picture_url": "https://lookaside.fbsbx.com/..."
}
但是,如果我尝试使用 ID 和端点 https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/messages
发送某人,它工作正常。
如果我在 Postman 中使用 Download Media Content 和 URL,它也可以正常工作。
不知道是不是我理解错了,还是用 API.
做不到
profile_picture_url (Optional): URL of the profile picture generated from a call to the Resumable Upload API.
但是,我使用 profile_picture_handle
而不是 profile_picture_url
让它工作。那么我们如何获得profile_picture_handle
?
先决条件:
更新照片资料:
- 致电
POST https://graph.facebook.com/v14.0/{{appId}}/uploads?access_token={{token}}&file_length={{fileSizeInByte}}&file_type=image/jpeg
- 保存你得到的session ID,
upload:XXXXXX?sig=XXXXXX
。
- 调用
POST https://graph.facebook.com/v14.0/{{sessionId}}
,使用 headers: Authorization=OAuth {{token}}, file_offset=0, Host=graph.facebook.com, Connection=close, Content-Type=multipart/form-data
,并将您的图像文件包含在请求 body 中,类型为二进制文件。如果您使用 Postman,请参见下图(这是我错过了几个小时的内容)。
- 保存得到的句柄结果,
4::XXX==:XXXXXX
。
- 最后,调用
POST https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/whatsapp_business_profile
,使用 json 请求 body:{"messaging_product": "whatsapp", "profile_picture_handle": "4::XXX==:XXXXXX"}
就是这样,您可以查看头像。
我正在尝试使用 WhatsApp Cloud 上传图片作为个人资料图片 API *.
After creating an application using WhatsApp Cloud API I'm not allowed to access neither using the regular application nor using Business Application. It says something like "try again in one hour". So I have to implement everything using the API.
阅读文档并导入后 Postman Endpoints 我找到了一个名为 业务配置文件 > 更新业务配置文件
https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/whatsapp_business_profile
它有一个字段 "profile_picture_url"
,我已经尝试过发布媒体 https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/media
然后使用给定的 ID y 使用 https://graph.facebook.com/{{Version}}/{{Media-ID}}
来获取 URL 但它没有不工作。其余信息更新成功
{
"messaging_product": "whatsapp",
"address": "",
"description": "Simple Bot",
"email": "...@gmail.com",
"websites": [
"https://..."
],
"profile_picture_url": "https://lookaside.fbsbx.com/..."
}
但是,如果我尝试使用 ID 和端点 https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/messages
发送某人,它工作正常。
如果我在 Postman 中使用 Download Media Content 和 URL,它也可以正常工作。
不知道是不是我理解错了,还是用 API.
做不到profile_picture_url (Optional): URL of the profile picture generated from a call to the Resumable Upload API.
但是,我使用 profile_picture_handle
而不是 profile_picture_url
让它工作。那么我们如何获得profile_picture_handle
?
先决条件:
更新照片资料:
- 致电
POST https://graph.facebook.com/v14.0/{{appId}}/uploads?access_token={{token}}&file_length={{fileSizeInByte}}&file_type=image/jpeg
- 保存你得到的session ID,
upload:XXXXXX?sig=XXXXXX
。 - 调用
POST https://graph.facebook.com/v14.0/{{sessionId}}
,使用 headers:Authorization=OAuth {{token}}, file_offset=0, Host=graph.facebook.com, Connection=close, Content-Type=multipart/form-data
,并将您的图像文件包含在请求 body 中,类型为二进制文件。如果您使用 Postman,请参见下图(这是我错过了几个小时的内容)。 - 保存得到的句柄结果,
4::XXX==:XXXXXX
。 - 最后,调用
POST https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/whatsapp_business_profile
,使用 json 请求 body:{"messaging_product": "whatsapp", "profile_picture_handle": "4::XXX==:XXXXXX"}
就是这样,您可以查看头像。