问题
I am trying to get the number of comments for a yammer feed.
I used the below query
jQuery.getScript("https://c64.assets-yammer.com/assets/platform_js_sdk.js",function(){
console.log("script loaded");
var commentCnt = 0;
yam.platform.request(
{ url: "https://www.yammer.com/api/v1/messages/open_graph_objects/"+ogID+".json"
, method: "GET"
, data: {"body": "This Post was Made Using the Yammer API. Welcome to the Yammer API World."}
, success: function (msg) {
if (msg) {
jQuery.each(msg.messages, function (index, element) {
commentCnt++;
});
}
//adds the count to the webpage.
jQuery("div#commentCnt").text(commentCnt);
}
, error: function (msg) {
//console.log("message lookup failed");
}
});
});
this returned
XMLHttpRequest cannot load http://myApiUrl/. No
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'null' is therefore not allowed access
How can this be resolved? I also tried using api.yammer.com
instead of www.yammer.com
回答1:
Yammer CORS error are mostly due to missing JS origins. You'd need to define data-app-id in your code. Looks like that's missing from your snippet...
data-app-id="YOUR-APP-CLIENT-ID"
data-app-id, is the app_id of your registered app and ensure JS origin is in place.
Also, instead of using jQuery.getScript(), I'd suggest you call the script in the header section of your HTML page like this:
<script type="text/javascript" data-app-id="YOUR-APP-CLIENT-ID" src="https://c64.assets-yammer.com/assets/platform_js_sdk.js"></script>
来源:https://stackoverflow.com/questions/33950817/get-number-of-comments-in-yammer-feed