-->

get number of comments in yammer feed

2019-09-19 07:32发布

问题:

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>