如何从受密码保护的xlsx工作簿导入工作表R?
我希望能够将Excel工作表转换为csv文件,而无需通过Excel本身.
xls工作簿可以使用xls2csv包中基于perl的函数gdata.我认为问题是Spreadsheet::XLSX不支持它.
有许多用于导入非加密xlsx工作簿的函数和包,但似乎都没有解决这个问题.
目前似乎唯一的选择是通过Excel或弄清楚如何编写可以执行它的perl代码.
我正在构建一个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
是否有针对haskell的REST api库?
我需要它主要用于谷歌gdata客户端,但也可能将它用于其他目的.
我知道有HTTP库,但我需要更高级别的东西,它支持像json编码/解码等等...
我想知道在桌面应用中对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频道上制作视频完全不可见(换句话说是私有的)并仅向网站用户显示此视频.
这可能吗?怎么样?
我想用来data.photos.service.PhotosService从Picasa推送和拉取照片.我从Google控制台获得了一个服务密钥文件XXXXXXXX-privatekey.p12,现在我正在尝试使用谷歌的密钥进行身份验证.
使用appengine的OAUTH2文档让我相信使用以下内容是有用的:
f = file(settings.SITE_ROOT + '/aurora/' + settings.PRIVATE_KEY, 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(settings.SERVICE_ACCOUNT_NAME, key, scope = 'http://picasaweb.google.com/data https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile')
http = httplib2.Http()
http = credentials.authorize(http)
service = build("oauth2", "v2", http=http)
user_info = None
try:
user_info = service.userinfo().get().execute()
# neither of these two methods work
#gd_client.SetOAuthInputParameters(signature_method = gdata.auth.OAuthSignatureMethod.RSA_SHA1, consumer_key = "asdfasdfasdf.apps.googleusercontent.com", rsa_key = key, two_legged_oauth = True, requestor_id = user_info.get('email'))
#gd_client.auth_token = gdata.gauth.TwoLeggedOAuthRsaToken(consumer_key = user_info.get('email'), rsa_private_key = key, requestor_id = user_info.get('email'))
except errors.HttpError, e:
logging.error('An …Run Code Online (Sandbox Code Playgroud) 我想确定一种方法,以便在Google电子表格工作簿中的每个工作表的URL中获取工作表ID.例如,对于"Sheet2的"工作表ID 此工作簿是"1244369280",因为它的网址是https://docs.google.com/spreadsheets/d/1yd8qTYjRns4_OT8PbsZzH0zajvzguKS79dq6j--hnTs/edit#gid=1244369280
我发现的一种方法是提取Google电子表格的XML,因为根据这个问题,获取工作表ID的唯一方法是流式传输工作表的XML,但示例是在Javascript中,我需要在Python中执行此操作
这是我想在Python中执行的Javascript代码:
Dim worksheetFeed As WorksheetFeed
Dim query As WorksheetQuery
Dim worksheet As WorksheetEntry
Dim output As New MemoryStream
Dim xml As String
Dim gid As String = String.Empty
Try
_service = New Spreadsheets.SpreadsheetsService("ServiceName")
_service.setUserCredentials(UserId, Password)
query = New WorksheetQuery(feedUrl)
worksheetFeed = _service.Query(query)
worksheet = worksheetFeed.Entries(0)
' Save worksheet feed to memory stream so we can
' get the xml returned from the feed url and look for
' the gid. Gid allows us …Run Code Online (Sandbox Code Playgroud)