标签: gdata-api

Google Data API身份验证

我试图让我的Django应用程序(不使用谷歌应用程序引擎)使用谷歌联系人数据API从谷歌联系人检索数据.通过身份验证文档以及Data API Python客户端文档

获得一次性令牌的第一步(AuthSubRequest)工作正常.下一步(AuthSubSessionToken),它是将一次性令牌升级为会话令牌.python API调用UpgradeToSessionToken()根本不适合我,它给了我NonAuthSubToken异常:

gd_client = gdata.contacts.service.ContactsService()
gd_client.auth_token = authsub_token
gd_client.UpgradeToSessionToken() 
Run Code Online (Sandbox Code Playgroud)

作为替代方案,我希望通过"手动"构建HTTP请求来实现它:

url = 'https://www.google.com/accounts/AuthSubSessionToken'
headers = {
               'Content-Type': 'application/x-www-form-urlencoded',
               'Authorization': 'AuthSub token=' + authsub_token,
               'User-Agent': 'Python/2.6.1',
               'Host': 'https://www.google.com', 
               'Accept': 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2',
               'Connection': 'keep-alive',
           }
req = urllib2.Request(url, None, headers)
response = urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)

这给了我一个不同的错误:

HTTP错误302:HTTP服务器返回重定向错误,导致无限循环.最后30x错误消息是:暂时移动

我在这做错了什么?我非常感谢我尝试使用的方法之一的帮助/建议/建议:Python API调用(UpgradeToSessionToken)或使用urllib2手动构建HTTP请求.

python django gdata-api google-api gdata

6
推荐指数
1
解决办法
3119
查看次数

Youtube上传质量

我正在使用谷歌的GData API,以便从我的应用程序上传视频到youtube.上传工作正常,但上传的视频质量仅为360p,而原始视频的质量为720p.

这是否按预期工作?如果是这样,有什么方法可以让我的应用程序上传HQ电影吗?

这是我用来实现视频上传的代码,如果有任何帮助的话.

GDataYouTubeMediaGroup *mediaGroup = [GDataYouTubeMediaGroup mediaGroup];
[mediaGroup setMediaTitle:title];
[mediaGroup setMediaDescription:desc];
[mediaGroup addMediaCategory:category]; 
[mediaGroup setMediaKeywords:keywords];
[mediaGroup setIsPrivate:NO];

NSString *mimeType = [GDataUtilities MIMETypeForFileAtPath:outputURL.relativePath defaultMIMEType:@"video/quicktime"];

GDataEntryYouTubeUpload *entry;
entry = [GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup data:data MIMEType:mimeType slug:filename];

SEL progressSel = @selector(ticket:hasDeliveredByteCount:ofTotalByteCount:);
[service setServiceUploadProgressSelector:progressSel];

GDataServiceTicket *ticket;
ticket = [service fetchEntryByInsertingEntry:entry forFeedURL:url delegate:self didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];
Run Code Online (Sandbox Code Playgroud)

布伦顿

youtube iphone gdata-api gdata

6
推荐指数
1
解决办法
768
查看次数

尝试使用gdata API将视频上传到YouTube时找不到类错误

我目前正在编写Android应用程序的一部分,使用Google Data API将视频上传到YouTube.我有来自Google Code的API的最新版本,我基本上已经从他们的开发人员指南中复制了该示例.

一切都没有警告或错误编译,应用程序运行正常.但是当我调用service.insert(...)时,我得到以下堆栈跟踪:

ERROR/dalvikvm(19489): Could not find class 'com.google.gdata.data.media.MediaBodyPart$MediaSourceDataHandler', referenced from method com.google.gdata.data.media.MediaBodyPart.initMediaDataHandler
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method com.google.gdata.data.media.MediaBodyPart.initMediaDataHandler
ERROR/dalvikvm(19489): Could not find class 'javax.mail.internet.MimeBodyPart$MimePartDataHandler', referenced from method javax.mail.internet.MimeBodyPart.writeTo
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.attachFile
ERROR/dalvikvm(19489): Could not find class 'javax.mail.internet.MimeBodyPart$MimePartDataHandler', referenced from method javax.mail.internet.MimeBodyPart.getDataHandler
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.setContent
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.setContent
ERROR/dalvikvm(19489): Could not …
Run Code Online (Sandbox Code Playgroud)

android gdata-api youtube-api

6
推荐指数
1
解决办法
2250
查看次数

Google+是否有公开API?

可能重复:
是否已有Google+ API?

Google+是否有我可以在iOS应用程序中使用的公共API?

gdata-api google-api google-plus

6
推荐指数
1
解决办法
622
查看次数

Google Calendar V3 REST API中的批量请求

如何通过V3 REST API使用批量请求获取/添加/更新Google Calendar事件?我试过但不行.根据文档(https://developers.google.com/google-apps/calendar/batch),应该可以通过向API发布多部分/混合内容类型消息来发送批处理请求.工作HTTP POST的一个例子很棒.

谢谢,Riyaz

rest http google-calendar-api gdata-api google-api

6
推荐指数
1
解决办法
2090
查看次数

Google日历Feed api已删除活动

我正在将Google日历与我的应用程序同步(我将事件存储在数据库中).更新事件后,我可以通过在"更新"订单上对事件订阅源进行排序,轻松找到上次更新.但是,如果删除/删除了某个活动,我该如何从Feed中跟踪此更新?

google-calendar-api gdata-api gdata

5
推荐指数
1
解决办法
3258
查看次数

YouTube API:如何获取用户将视频标记为收藏的日期/时间?

我正在通过YouTube API访问用户喜爱的视频.如何获得将每个视频标记为收藏的日期/时间?

更新:

有人指出,YouTube API文档说用户最喜欢的Feed上的"已发布"日期会有用户将视频标记为收藏的时间.但这似乎是错误的.

例如,看看这个视频条目:

http://gdata.youtube.com/feeds/api/videos/g2981r_MtHQ

它有一个"已发布"的日期2008-03-19T21:09:09.000Z.

现在让我们在一些用户喜爱的Feed中看到相同的视频:

http://gdata.youtube.com/feeds/api/users/KeepWatchingTheSkies/favorites

它有一个"已发布"的日期2008-03-19T21:09:09.000Z.相同.

以下是获取收藏Feed的不同方法:

http://gdata.youtube.com/feeds/base/users/KeepWatchingTheSkies/favorites

我们还有一个"已发布"的日期2008-03-19T21:09:09.000Z.

假设用户没有足够快地在相同的毫秒内发布视频,那么在YouTube文档中写的内容可能是错误的,并且这不是用户将视频标记为收藏的时间.


所以我的问题是:如何让用户将视频标记为收藏?

youtube api gdata-api gdata

5
推荐指数
1
解决办法
1116
查看次数

ListView中显示的Youtube播放列表

我有一个GDATA链接,我想在我的应用程序中使用.此链接包含播放列表,我希望该播放列表显示在ListView.然后,用户将选择他/她想要的视频,然后可以使用本地Youtube应用程序在应用程序旁边播放.

请指出一个直观的教程.我知道YouTube API页面包含所有信息,但我可以做出正面或反面.

android listview gdata-api youtube-api playlist

5
推荐指数
1
解决办法
3123
查看次数

如何使用支持的API从javascript读取/写入Google电子表格?

关于如何使用支持的API将javascript客户端(非小工具)写入私有Google电子表格,我感到非常困惑?我没有遇到OAuth2 Drive API客户端的问题,但是没有电子表格支持!

https://developers.google.com/apis-explorer

此问题粗略地要求电子表格API显示在该页面上:

http://code.google.com/p/google-api-javascript-client/issues/detail?id=37

我可能遗漏了一些明显的东西,所以谢谢你的善意帮助我......

更新:

哇,这是踢我的背后!因此,我将尝试从Oauth2工作流中获取access_token,然后设置gdata API Authorization标头,如下所示:

service = new google.gdata.client.GoogleService('testapp');
service.setHeaders({'Authorization': 'Bearer '+ access_token});
Run Code Online (Sandbox Code Playgroud)

不幸的是,chrome控制台显示当我执行类似操作时,此标头实际上并未发送到Google

service.getFeed(url, cb, eb);
Run Code Online (Sandbox Code Playgroud)

Uffff!

javascript gdata-api google-spreadsheet-api

5
推荐指数
1
解决办法
2525
查看次数

客户端检索Google联系人图片

我正在使用Google JavaScript API在网络应用中获取谷歌联系人,我想要检索他们的图片.

我正在做这样的事情(大大简化):

var token; // let's admit this is available already

function getPhotoUrl(entry, cb) {
  var link = entry.link.filter(function(link) {
    return link.type.indexOf("image") === 0;
  }).shift();
  if (!link)
    return cb(null);
  var request = new XMLHttpRequest();
  request.open("GET", link.href + "?v=3.0&access_token=" + token, true);
  request.responseType = "blob";
  request.onload = cb;
  request.send();
}

function onContactsLoad(responseText) {
  var data = JSON.parse(responseText);
  (data.feed.entry || []).forEach(function(entry) {
    getPhotoUrl(e, function(a, b, c) {
      console.log("pic", a, b, c);
    });
  });
}
Run Code Online (Sandbox Code Playgroud)

但是我在Chrome和Firefox中都遇到了这个错误:

跨源请求封锁:同源策略不允许读取远程资源在https://www.google.com/m8/feeds/photos/media/<user_email?>/<some_contact_id> V = …

oauth gdata-api google-data-api google-shared-contacts google-oauth

5
推荐指数
1
解决办法
929
查看次数