相关疑难解决方法(0)

如何在没有JQuery的情况下从Javascript发出JSONP请求?

我可以在不使用jQuery或其他外部库的情况下在JavaScript中创建跨域JSONP请求吗?我想使用JavaScript本身,然后解析数据并使其成为一个对象,以便我可以使用它.我必须使用外部库吗?如果没有,我该怎么办?

javascript jsonp

117
推荐指数
7
解决办法
9万
查看次数

gapi.client.load与google.load

我对如何正确加载Google的API感到困惑.我看到提到了两种不同的方法:

第一:Google API加载程序(https://developers.google.com/loader).我在html文档中看到这样使用:

<script src="https://www.google.com/jsapi"></script>
Run Code Online (Sandbox Code Playgroud)

然后在JS文件中使用它,如下所示:

google.load('visualization', '1.0', {'packages':['corechart']})
Run Code Online (Sandbox Code Playgroud)

第二:Google API Javascript客户端(http://code.google.com/p/google-api-javascript-client/).这个加载像:

<script src="https://apis.google.com/js/client.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后用于:

gapi.client.load('fusiontables', 'v1')
Run Code Online (Sandbox Code Playgroud)

如果您查看这两个API中的每个API的文档,我会得到第二种方法是当前"现代"方法的印象,而第一种方法是较旧的.较旧的方法支持较少的API,但它们不同.我想在我的应用程序中使用Fusion Tables和Google Charts.据我所知,我认为我需要加载两个API.

我的问题:这两个API确实是独特的,彼此独立吗?我是否正确地将"google.load"方法解释为较旧的"遗留"内容?如果我需要使用这两个API,它们之间是否存在冲突?

谢谢你的任何想法!

javascript google-api google-api-js-client

10
推荐指数
1
解决办法
3207
查看次数

Google通过OAuth2身份验证与JavaScript客户端联系API问题

几个小时以来一直在与这个摔跤,Docs似乎很糟糕.基本上我正在尝试使用Portable Contacts API或完整的Contacts API获取对OAuth2经过身份验证的用户联系人的读取权限.谷歌最近开始允许使用OAuth2.

通过首先让用户对范围进行身份验证,我可以通过Contacts API访问用户联系人:"https://www.google.com/m8/feeds".然后我可以使用jQuery检索他们的前25个联系人(显示的代码是CoffeeScript)

$.ajax
  url: "https://www.google.com/m8/feeds/contacts/default/full"
  dataType: 'jsonp'
  data: { access_token: token, alt: 'json-in-script' }
  success: (data, status) ->
    console.log "The returned data", data
Run Code Online (Sandbox Code Playgroud)

这有效,我得到JSON数据.然而,令人难以置信的差不多,唯一的接触下令谷歌提供了(据我可以告诉)是" 上次更改 "(严重跆拳道?).我需要更像"顶级朋友"或"最受欢迎"的东西.

这恰好是Google Portable Contacts API 可以做的事情(耶!).当然,我似乎无法获得成功的工作要求.

首先,我通过单击此链接让用户通过便携式联系人API进行身份验证(请注意范围:"https://www-opensocial.googleusercontent.com/api/people")

<a href="https://accounts.google.com/o/oauth2/authclient_id=457681297736.apps.googleusercontent.com&response_type=token&redirect_uri=http://localhost:3000/team&scope=https://www-opensocial.googleusercontent.com/api/people">Import Google Contacts</a>
Run Code Online (Sandbox Code Playgroud)

这工作正常,我得到一个访问令牌传回.

接下来,我尝试向便携式联系人API发送ajax请求

$.ajax
  url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all"
  dataType: 'jsonp'
  data: { access_token: token, alt: 'json-in-script' }
  success: (data, status) ->
    console.log "The returned data", data
Run Code Online (Sandbox Code Playgroud)

但是返回403错误

403 (The currently logged in …
Run Code Online (Sandbox Code Playgroud)

javascript google-contacts-api oauth-2.0

7
推荐指数
1
解决办法
4167
查看次数