When I try to load AJAX scripts into private site it runs with any problems, but when I do public site I have AccessException, I read a lot of it, and I found this link, where have same problem and found solution setting Barer. But I don´t know where I set barer, someone can help me where I should copy method of the solution given in link?
There is my js:
function MenuPopulate(url, listname, target) {
var lang = "Espanol";
if ((window.location.href.indexOf("lang=en") > 0)) {
lang = "English";
}
// Getting our list items
$.ajax({
url: url + "/_api/web/lists/getbytitle('" + listname + "')/items?$select=Title,Enlace&$orderby=Posicion&$top=6&$filter=Idioma eq '" + lang + "'",
method: "GET",
crossDomain: true,
headers: { "Accept": "application/json; odata=verbose",
"X-RequestDigest": $("__REQUESTDIGEST").val() },
contentType: "application/json;charset=utf-8",
success: function (data) {
completeMenu(data, target);
},
error: function (data) {
failureMenu(data, target);
}
});
}
So first I think I should only add function like:
SharePointContextToken ContextToken = TokenHelper.ReadAndValidateContextToken(ContextTokenString, Request.Url.Authority);
Uri sharepointUrl = new Uri(Request.QueryString["SPHostUrl"]);
//Get the AccessToken
string AccessToken = TokenHelper.GetAccessToken(ContextToken,sharepointUrl.Authority).AccessToken;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(@"https://mysite-public.sharepoint.com/_api/web/lists");
request.Method = "GET";
request.Accept = "application/json;odata=verbose";
request.Headers.Add("Authorization", "Bearer " + AccessToken);
HttpWebResponse response =(HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
function MenuPopulate(url, listname, target) {
var lang = "Espanol";
if ((window.location.href.indexOf("lang=en") > 0)) {
lang = "English";
}
// Getting our list items
$.ajax({
url: url + "/_api/web/lists/getbytitle('" + listname + "')/items?$select=Title,Enlace&$orderby=Posicion&$top=6&$filter=Idioma eq '" + lang + "'",
method: "GET",
crossDomain: true,
headers: { "Accept": "application/json; odata=verbose",
"X-RequestDigest": $("__REQUESTDIGEST").val() },
contentType: "application/json;charset=utf-8",
success: function (data) {
completeMenu(data, target);
},
error: function (data) {
failureMenu(data, target);
}
});
}
This isn't working, can anyone help me there?