Oauth 在使用Google+;美国石油学会

Oauth 在使用Google+;美国石油学会,oauth,google-plus,Oauth,Google Plus,我正在尝试使用谷歌加评论的获取和列表方法。在官方网站上,它说(所有API调用都需要OAuth 2.0令牌或API密钥。)我已经尝试在没有OAuth的情况下发送GET请求,它会返回json格式的数据。我的问题是OAuth在使用google+API之前必须要求什么?这取决于您试图获取的数据 文档说明了使用OAuth的好处,但一般来说,如果您希望获取私人配置文件数据,或者如果您希望使用/me/URL快捷方式,则需要使用OAuth,并且如果您愿意,还可以使用应用程序密钥。如果你只对公共数据感兴趣,你可以

我正在尝试使用谷歌加评论的获取和列表方法。在官方网站上,它说(所有API调用都需要OAuth 2.0令牌或API密钥。)我已经尝试在没有OAuth的情况下发送GET请求,它会返回json格式的数据。我的问题是OAuth在使用google+API之前必须要求什么?

这取决于您试图获取的数据


文档说明了使用OAuth的好处,但一般来说,如果您希望获取私人配置文件数据,或者如果您希望使用/me/URL快捷方式,则需要使用OAuth,并且如果您愿意,还可以使用应用程序密钥。如果你只对公共数据感兴趣,你可以使用应用程序键。

关于你是否能做到这一点的简短回答是,你可以在没有OAuth的情况下从Google+获得评论

至于您将如何做到这一点,我不确定您使用的是哪种语言,但下面的代码显示了如何在JavaScript中做到这一点

此处使用的API调用可以在API资源管理器中进行试验:

A

您将需要一个API密钥(简单密钥)用于一个使用Google+API的项目。设置项目时,只需从服务部分启用Google+API

首先,使用公共数据API抓取活动:

// Gets the activities for a profile
function getActivities(profileID){
  var activities = null;      
  var URL        = "https://www.googleapis.com/plus/v1/people/" + profileID +         "/activities/public?alt=json&key=" + key;
  var request = new XMLHttpRequest();
  request.open('GET', URL, false);
  request.send(); // because of "false" above, will block until the request is done 
                  // and status is available. Not recommended, however it works for simple cases.

  if (request.status === 200) {
    if (debug) console.log("retrieved activities \n\n");
    var activities = jQuery.parseJSON(request.responseText).items;
    console.log("Discovered " + activities.length + " activities");
  }else{
    handleRequestIssue(request);
  }

  return activities;
}
下面的代码循环执行这些活动

for (var i=0; i < activities.length; i++) {
        console.log("trying to do something with an activity: " + i);
        var activity = activities[i];

        console.log(activity.id);
}
下面的代码将所有内容组合在一起,并检索特定帖子的活动和评论:

$(document).ready(function () {

  var renderMe = "";
  var activities = getActivities("109716647623830091721");

  console.log("activities retrieved: " + activities.length);

  for (var i=0; i < activities.length; i++) {
    console.log("trying to do something with an activity: " + i);
    var activity = activities[i];

    renderMe += "<br/><div class=\"article\"><p>" + activity.title + "</p>";
    console.log(activity.id);

    // get comments
    var comments = getCommentsForActivity(activity.id);
    for (var j=0; j<comments.length; j++){
      renderMe += "<br/><div class=\"comment\">" + comments[j].object.content + "</div>";
    }
    renderMe += "</div>";
  }
  console.log("I'm done");

  document.getElementById("ac").innerHTML = renderMe;
});
$(文档).ready(函数(){
var renderMe=“”;
var活动=getActivities(“109716647623830091721”);
日志(“检索到的活动:+activities.length”);
对于(变量i=0;i”+activity.title+“

”; console.log(activity.id); //获得评论 var comments=getCommentsActivity(activity.id);
对于(var j=0;jI只需要google+的评论,这意味着我可以跳过OAuth部分。google Plus的什么标记似乎不相关?这很好,因为javascript中的同源策略我不确定代码是否可以工作,但无论如何,感谢您的帮助
$(document).ready(function () {

  var renderMe = "";
  var activities = getActivities("109716647623830091721");

  console.log("activities retrieved: " + activities.length);

  for (var i=0; i < activities.length; i++) {
    console.log("trying to do something with an activity: " + i);
    var activity = activities[i];

    renderMe += "<br/><div class=\"article\"><p>" + activity.title + "</p>";
    console.log(activity.id);

    // get comments
    var comments = getCommentsForActivity(activity.id);
    for (var j=0; j<comments.length; j++){
      renderMe += "<br/><div class=\"comment\">" + comments[j].object.content + "</div>";
    }
    renderMe += "</div>";
  }
  console.log("I'm done");

  document.getElementById("ac").innerHTML = renderMe;
});