Android Question SharePoint Online _api

Hi,

we use HttpJob to read data from SharePoint online.

Dim j As HttpJob
j.Initialize("", Me)

j.Download("https://xxxxx.sharepoint.com/sites/...e='ContentSearchRegular'&SelectProperties='*'")

j.Username = "xxxx"
j.Password = "xxxxx"

But we receive this error

ResponseError. Reason: Forbidden, Response: <?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>-2147024891, System.UnauthorizedAccessException</m:code><m:message xml:lang="de-DE">Attempted to perform an unauthorized operation.</m:message></m:error>

<?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>-2147024891, System.UnauthorizedAccessException</m:code><m:message xml:lang="de-DE">Attempted to perform an unauthorized operation.</m:message></m:error>

User Name and Password are ok

We think it is was wrong with the Authentication method but we don't know how to set it rightly .

Thank you for the help!
 
Hi,

sorry but was should I in YOUR KEY write?

Dim basicAuth as string = "YOUR KEY"
Dim j As HttpJob
j.Initialize("", Me)
j.Download("https://api.octopus.energy/v1/electricity-meter-points/1460001714995/meters/15P0459914/consumption/")
j.GetRequest.SetHeader("Authorization", "Basic " & basicAuth)
Wait For (j) JobDone(j As HttpJob)
If j.Success = True Then
Log(j.GetString)
Else
Log(j.ErrorMessage)
End If
j.Release

Username and Password? In wich form?

or ist this the rigth code? In this case in witch forn shoult i write username and passord?

Dim basicAuth As String = "YOUR KEY:" ' I'm pretty sure you need the colon here at the end of you API key. If you get an error message, take it out and see what happens
Dim su As StringUtils ' requires StringUtils library to be checked
Dim authInfo = su.EncodeBase64(basicAuth.GetBytes("UTF8"))
Dim j As HttpJob
j.Initialize("", Me)
j.Download("https://api.octopus.energy/v1/electricity-meter-points/1460001714995/meters/15P0459914/consumption/")
j.GetRequest.SetHeader("Authorization", $"Basic ${authInfo}"$) '<--- only other change (using right variable and, well, SmartStrings)
Wait For (j) JobDone(j As HttpJob)
If j.Success = True Then
Log(j.GetString)
Else
Log(j.ErrorMessage)
End If
j.Release

thank you for your help
Claudio
 
Upvote 0
Hi,

I try this



But the Result are the same

ResponseError. Reason: Forbidden, Response: <?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>-2147024891, System.UnauthorizedAccessException</m:code><m:message xml:lang="de-DE">Attempted to perform an unauthorized operation.</m:message></m:error>

<?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>-2147024891, System.UnauthorizedAccessException</m:code><m:message xml:lang="de-DE">Attempted to perform an unauthorized operation.</m:message></m:error>

What ist wrong in this kode?

Whit SharePoint Search Query Tool we use this Authentication and it works ...



thank you
Claudio
 

Attachments

  • 1650349321460.png
    11.7 KB · Views: 161
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User

Wrong. Read well
B4X:
Dim basicAuth As String = "Service.SharePoint@xxxxx.ti:5rt678g" 
Dim su As StringUtils ' requires StringUtils library to be checked
Dim authInfo = su.EncodeBase64(basicAuth.GetBytes("UTF8"))
Dim j As HttpJob
j.Initialize("", Me)
j.Download("htpps://fructusmerano.sharepoint....")
j.GetRequest.SetHeader("Authorization", $"Basic ${authInfo}"$) 
Wait For (j) JobDone(j As HttpJob)
If j.Success = True Then
Log(j.GetString)
Else
Log(j.ErrorMessage)
End If
j.Release

isnt j.GetRequest.SetHeader("Authorization", "service...")
 
Upvote 0
Hi Marco,

I try this but it does not work.

Dim j As HttpJob
Dim basicAuth As String = "Service.SharePoint@fructus.it:xxxxxxx"
Dim su As StringUtils
Dim authInfo As String = su.EncodeBase64(basicAuth.GetBytes("UTF8"))

j.Initialize("", Me)
j.Download("https://fructusmeran.sharepoint.com...e='ContentSearchRegular'&SelectProperties='*'")

j.GetRequest.SetHeader("Authorization", $"Basic ${authInfo}"$)

Wait For (j) JobDone(j As HttpJob)
If j.Success Then
Log( j.GetString )
result = j.GetString
Else
Log( j.ErrorMessage )
End If

j.Release

The resuiult are the same als before

ResponseError. Reason: Forbidden, Response: <?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>-2147024891, System.UnauthorizedAccessException</m:code><m:message xml:lang="de-DE">Attempted to perform an unauthorized operation.</m:message></m:error>

thank you Claudio
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…