Hi,
I am using Office365Users.UserPhoto() to retrive image of the employee. I tried all the possibilities below:
If(!IsBlank(ThisItem.Id),If(Office365Users.UserPhotoMetadata(ThisItem.Id).HasPhoto=false,SampleImage,Office365Users.UserPhoto(ThisItem.Id))) If(Office365Users.UserPhotoMetadata(ThisItem.Id).HasPhoto=false,SampleImage,Office365Users.UserPhoto(ThisItem.Id)) If(!IsBlank(Id),If(Office365Users.UserPhotoMetadata(Id).HasPhoto=false,SampleImage,Office365Users.UserPhoto(Id))) Office365Users.UserPhoto(ThisItem.Id)
If(!IsBlank(ThisItem.Id),If(Office365Users.UserPhotoMetadata(ThisItem.Id).HasPhoto=false,SampleImage,Office365Users.UserPhotoV2(ThisItem.Id))) If(Office365Users.UserPhotoMetadata(ThisItem.Id).HasPhoto=false,SampleImage,Office365Users.UserPhotoV2(ThisItem.Id)) If(!IsBlank(Id),If(Office365Users.UserPhotoMetadata(Id).HasPhoto=false,SampleImage,Office365Users.UserPhotoV2(Id))) Office365Users.UserPhotoV2(ThisItem.Id)
Always have different Error message pops up:
When using Office365Users.UserPhotoV2(ThisItem.Id), got the error below:
Office365Users.UserPhotoV2 failed: { "error": { "code": "AuthenticationError", "message": "Error authenticating with resource", "innerError": { "request-id": "0a63db95-a309-494f-89fb-8284bfdc2fa7", "date": "2019-04-11T15:00:38" } } }
When using If(!IsBlank(Id),If(Office365Users.UserPhotoMetadata(Id).HasPhoto=false,SampleImage,Office365Users.UserPhotoV2(Id))), got the error below:
Office365Users.UserPhotoMetadata failed: { "error": { "code": "AuthenticationError", "message": "Error authenticating with resource", "innerError": { "request-id": "58e84667-373e-416a-bb20-c6ca716c1a5b", "date": "2019-04-11T15:06:10" } } }
When using Office365Users.UserPhoto(ThisItem.Id), got the error below:
Office365Users.UserPhoto failed: { "status": 400, "message": "One or more input values is invalid.\r\nclientRequestId: 804fe1a5-c00b-4b8c-8d19-564a5b225aca", "source": "office365users-ne.azconn-ne.p.azurewebsites.net" }
When using
If(!IsBlank(ThisItem.Id),If(Office365Users.UserPhotoMetadata(ThisItem.Id).HasPhoto=false,SampleImage,Office365Users.UserPhoto(ThisItem.Id))) got the error below:
Office365Users.UserPhotoMetadata failed: { "error": { "code": "AuthenticationError", "message": "Error authenticating with resource", "innerError": { "request-id": "83402233-bfe7-4642-8863-48f30a964f58", "date": "2019-04-11T15:13:18" } } }
When using
If(Office365Users.UserPhotoMetadata(ThisItem.Id).HasPhoto=false,SampleImage,Office365Users.UserPhoto(ThisItem.Id)) got the error below:
Office365Users.UserPhotoMetadata failed: { "error": { "code": "AuthenticationError", "message": "Error authenticating with resource", "innerError": { "request-id": "a99d3f39-5eea-4545-94f8-8e36dc33ec86", "date": "2019-04-11T15:15:00" } } }
Mobile phone app shows error below:
etc.
I want to avoid the error message. All the function work fine, but still the error messages always come out, very annoying, and I don't know how to interpret the error message and don't know how to fix the error.
Can anybody help? How can I fix the AuthenticationError?
Solved! Go to Solution.
I get the right answer from a Microsoft Support as below. But the issue is not resolved, instead I post an idea in the community: https://powerusers.microsoft.com/t5/Flow-Ideas/PowerApps-Office365Users-UserPhoto-AuthenticationErro...
Description of root cause
The reason the images would not show are usually because the URL that is used to get the image is a url to the actual site on SPO. e.g.
When PowerApps binds an Image control to this URL, the request for the image is NOT authenticated.
Only URLs that come from supported data types from within the SharePoint connector get rewritten so that PowerApps will be able to authenticate them safely.
Why does it work in browsers (sometimes) then?
The reason it can sometimes work in browsers (e.g. when using Web Authoring or Web Player) is that browsers utilize cookies to perform authentication.
So when the browser makes the request to the sharepoint.com URL, it's not using PowerApps authentication tokens to authorize the request; it's using cookies stored by the browser for that domain.
Mitigations
Method 1 - Add the files as SharePoint list attachments.
My reason why this issue couldn't be resolved, because my company has 500+ employees, it’s hard for me to create a separate database for employee items with image as attachment. And it is double work, if the information is already existing somewhere, and I should utilize the existing information.
User | Count |
---|---|
228 | |
99 | |
95 | |
56 | |
33 |
User | Count |
---|---|
280 | |
110 | |
109 | |
64 | |
62 |