我正在构建一个webapp,为用户管理某些类型的事件.我想提供一种在用户的谷歌日历中显示这些事件的方法.
我真正希望的是一种方式来发布我自己的谷歌日历兼容的订阅源,并允许用户订阅它,就像他们可以订阅"有趣的日历".因此,如果事件发生变化或添加了新事件,它们将反映在日历中.但看起来Google只允许用户以原始或csv格式导入日历数据,而不是原子Feed格式.
问题是,我的webapp中的现有事件可以更改并添加新事件.我希望这些更改立即反映在谷歌日历中.我不能指望用户继续重新导入ICAL文件.以下SO问题极为相似,但并未真正找到答案: 生成与Google日历兼容的Feed
我是以错误的方式来做这件事的吗?我是否需要使用gdata API创建日历并向其发布事件?似乎发布一个原子提要会简单得多,但如果谷歌不能订阅原子提要,那就行不通了.
如果我只是将我的活动发布为ICAL文件,google日历会定期重新读取网址并更新数据吗?有些用户我每天有4或5个事件,因此随着时间的推移,文件会越来越大.看起来这似乎不是一个好的解决方案.
我正在编写一个使用YouTube Code API进行特定类型搜索的网络应用程序.在这种情况下,我正在尝试搜索与查询匹配的所有视频,以及在两个日期之间上传的视频.这个文件说我可以使用published-min和published-max参数,而这个参数说我可以使用updated-min和updated-max.
这两个参数集都会导致YouTube返回错误:
如何将结果集限制在指定日期范围内?
我试图找出谷歌的GData API(之间的差异http://code.google.com/p/gdata-python-client/)和谷歌的API客户端库的Python(http://code.google.com/ p/google-api-python-client /).
他们似乎都是谷歌.哪个是官方的?他们有什么不同?第二个似乎主要使用OAuth.
如果有人有任何知识或使用经验,那么获得一些信息会很棒!
PS:我虽然把它放在超级用户身上,但因为它与编程有关,我认为这会更好.
python gdata-api gdata google-client google-api-python-client
是否有使用OpenID和OAuth的youtube API(或gdata API)的c#代码示例?
或者也许是一篇包含代码示例的帖子/文章
使用youtube API使用dotnetoauth的代码示例也很棒
我想知道在桌面应用中对Google Data API用户进行身份验证的最佳/最简单方法.
我仔细阅读了文档,似乎我的选项是ClientLogin或OAuth.
对于ClientLogin,似乎我必须自己实现用于登录/密码的UI(以及相关的东西,比如在某处保存等).我真的很想知道是否有更多的支持,可能会弹出一些默认的登录/密码屏幕,并使用操作系统密钥链来存储密码等.我想知道为什么没有这样的支持?那不是标准程序吗?通过将该实现留给开发人员(好吧,将开发者留给开发者的可能性当然是好的),我猜想很多人在这里提出了非常难看的解决方案(当他们只是想要将一个小脚本一起破解时) ).
OAuth似乎是更好的解决方案.但是,似乎缺少一些代码和/或我发现的大多数代码似乎只与Web应用程序相关.Esp.,我按照文档进入了这里.已经在介绍中,它谈到了Web应用程序.然后,我需要指定一个对桌面应用程序没有意义的回调URL.此外,我想知道我应该放置哪些消费者密钥/秘密,因为这对于桌面应用程序也没有意义(特别是对于开源应用程序而言).我搜索了一下,据说这里(在SO上)我应该使用"匿名"/"匿名"作为消费者密钥/秘密; 但它在Google文档中的位置是什么?如何在用户进行身份验证后获取令牌?
有一些示例代码吗?(不是使用硬编码的用户名/密码,而是使用可重复使用的完整身份验证方法.)
谢谢,艾伯特
我的代码到目前为止:
import gdata.gauth
import gdata.contacts.client
CONSUMER_KEY = 'anonymous'
CONSUMER_SECRET = 'anonymous'
SCOPES = [ "https://www.google.com/m8/feeds/" ] # contacts
client = gdata.contacts.client.ContactsClient(source='Test app')
import BaseHTTPServer
import SocketServer
Handler = BaseHTTPServer.BaseHTTPRequestHandler
httpd = BaseHTTPServer.HTTPServer(("", 0), Handler)
_,port = httpd.server_address
oauth_callback_url = 'http://localhost:%d/get_access_token' % port
request_token = client.GetOAuthToken(
SCOPES, oauth_callback_url, CONSUMER_KEY, consumer_secret=CONSUMER_SECRET)
loginurl = request_token.generate_authorization_url(google_apps_domain=None)
loginurl = str(loginurl)
import webbrowser
webbrowser.open(loginurl)
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.我收到此错误:
抱歉,您已到达未使用Google Apps的域的登录页面.请检查网址,然后重试.
我不太明白.我当然不使用Google …
有Google+照片gdata API吗?我使用的是Google picasa API,但picasa对照片的限制为1 GB.我想使用我写给 Google+照片的脚本上传我的所有照片.
有Google+照片gdata API吗?
我有使用YouTube API的经验.但我总是把它用于公共视频.现在.我想要实现的目标是,在我的YouTube频道上制作视频完全不可见(换句话说是私有的)并仅向网站用户显示此视频.
这可能吗?怎么样?
我看到这个问题在许多不同的背景下被问到很多.也许我们可以设定一些定位和修复策略?我自欺欺人,所以我能贡献的都是恐怖故事和问题,对不起......
当一个类在编译时可见但在运行时不可见时,它似乎被抛出......这怎么可能发生?
就我而言,我正在开发一个应用程序,该应用程序在Eclipse中使用Google API,用于Android平台.我已经配置了Project Properties/Java Build Path/Libraries来包含gdata .jars,一切都很好.当我在模拟器中执行时,我得到一个强制关闭,logcat在一个简单的新ContactsService("myApp")上显示NoClassDefFoundError; 我也尝试了一个具有相同结果的新CalendarService("myApp").
是否可能或希望在编译时静态绑定以避免问题?
无论如何,附加库的动态绑定如何在移动环境中工作?要么必须绑定到我的.apk,要么我需要"安装"它?......嗯.
建议非常感谢.
我正在尝试构建Zend_Gdata_Spreadsheets_ListQuery,但我找不到任何可以解释预期查询语法是什么的引用以及您可以执行和不执行的查询类型.我能找到的最接近的是[Google Data API Client Library(1.41.1)](https://developers.google.com/gdata/javadoc/com/google/gdata/client/spreadsheet/ ListQuery#ListQuery(java.net.URL)),它描述了函数setSpreadsheetQuery,如下所示:
setSpreadsheetQuery
public void setSpreadsheetQuery(java.lang.String query)设置结构化电子表格查询.参数:query - 查询,例如"name ='Sonja'和state ='Georgia'"
如果您正在寻找列标题为"name"且包含文本"Sonja"的单元格,则此方法可以正常工作.我正在寻找包含"Sonja"作为细胞文本一部分的细胞.例如,"name"列中值为"Sonja the Awesome"的单元格与上面的搜索不匹配.name = Sonya*导致错误,name ="Sonya*"不返回任何结果.
那么,有没有人知道我在哪里可以找到"结构化电子表格查询"的预期"结构"的概述?
我目前正在编写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)