I've been trying to retreive the users profile picture through Zoho OAuth 2.0, testing it with Postman. This API uses authentication through tokens.
First I'm authenticating through:
https://accounts.zoho.com/oauth/v2/auth
and getting the token with:
https://accounts.zoho.com/oauth/v2/token
I used these scopes while testing:
ZohoCliq.Profile.READ
ZohoCliq.users.READ
zohocontacts.contactapi.READ
Endpoints I’ve tried (all return either the default placeholder image or blank):
https://contacts.zoho.com/file?t=user&ID=\\<zuid>
https://contacts.zoho.com/file?fs=thumb&ID=\\<zuid>
https://profile.zoho.com/file?t=user&ID=\\<zuid>
https://profile.zoho.com/file?fs=thumb&ID=\\<zuid>
https://accounts.zoho.com/oauth/v2/int/file?zuid=\\<zuid>
Issue:
Every request returns either the default placeholder image or a blank response, even when I’m certain the user has a profile picture set.
Question:
Is there a different endpoint, scope, or parameter required to retrieve the actual profile picture for a user?
Here's what I tried and it worked.
Authorize the user with profile
scope. View Docs →
Make request to https://accounts.zoho.com/oauth/v2/userinfo
with the credentials (access token).
In the response, there will be photo
field, which has the signed-url for the image. You can use it in <img>
tags or download it.