我正在编写一个应用程序来访问Google相册上的用户图片.
似乎Google照片没有"官方"API,但可以通过Picasa网络相册API访问这些图片.
NodeJS/Javascript没有正式的Google Picasa网络相册API参考/文档.
如何从我的Node应用程序访问此API?
我正在构建一个设计工具来创建完全可定制的照片产品,如相册。我使用 firebase(数据库和存储)和 angular4 等技术。为了将 google 照片与我的网络应用程序集成,我使用了 google 照片 api。当我尝试使用 html canvas (toDataUrl) 编辑用户的照片时,出现以下错误:
“对 '...' 图像的访问已被 CORS 策略阻止:没有 'Access-Control-Allow-Origin' 标头存在于请求的资源。”
我知道这意味着什么,但我找不到任何解决方案来编辑用户的照片并将它们用于打印目的。有人可以帮我吗?
我正在使用2018年版本的Google Photos API上传图像和媒体,如此处所述:“ 上传字节 ”
当我上传新图像或视频时,响应正文中再也没有任何上传令牌。它始终是一个空主体,根据上面的链接,这意味着字节已经上传(但这是新上传)。
这是一个示例请求/响应:
request:
POST https://photoslibrary.googleapis.com/v1/uploads
request headers:
authorization: Bearer abcd1234
X-Goog-Upload-Protocol: raw
X-Goog-Upload-File-Name: 20140317T082917_001.jpg
content-type: application/octet-stream
content-length: 1292868
accept: application/json
-----------------------------------------------------
response: OK [200]
response headers:
Alt-Svc: [quic=":443"; ma=2592000; v="44,43,39,35"]
Server: [UploadServer]
X-GUploader-UploadID: [AEnB2UqT6y8KyZNCPyAaFeCj7I_ABIlwLJQMpltYzQ7D8blW4v3uKSlMT7dbNjFV0i_7ApzoR-i26ZtZ9kHkB7bI8n8ojgOnNA]
Content-Length: [510]
Date: [Sun, 05 Aug 2018 11:19:15 GMT]
Content-Type: [text/plain]
response body:
null
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用X-GUploader-UploadID标头中返回的值,但这会导致500错误。
有人可以提供如何将字节上传到Google Photos API的有效示例吗?
谢谢!
在用户通过 Google 登录进行身份验证并被授权使用 Google Photos Library API 后,我不知道如何将凭据传递给 Google Photos Library API。
我正在开发一个移动应用程序(没有后端服务器,只是安装了Android应用程序)。用户的目标是:
身份验证(使用谷歌帐户)
授权应用程序使用Google照片库
管理照片。
第1点和第2点在我的项目中没问题。为此,我使用 Google 登录。一切正常。但第 3 点不起作用:我不知道如何在 PhotosLibrarySetting 对象中插入凭据:
PhotosLibrarySettings 设置 = PhotosLibrarySettings.newBuilder() .setCredentialsProvider(FixedCredentialsProvider.create("在此处添加凭据").build();
我尝试插入“credentials json”文件,例如
GoogleCredentials.fromStream(getAssets().open("system" + File.separator + "credentials.json"))
但仅适用于服务帐户密钥(在 Google API 控制台中),而我没有它。我只在 Google API 控制台中创建了 2 个凭据:一个用于 Android 的 oAuthClientID,一个用于 Web 客户端的 oAuthClientID(为 Google 登录自动创建)。下载最后一个客户端 ID 的 json 凭据不起作用。
我还尝试在使用 GoogleSignIn 进行身份验证和授权后使用从 GoogleSignInOptions (getIdToken 函数)检索的令牌,如下所示:
// acc为用户账号对应的对象
AccessToken tken = new AccessToken(acc.getIdToken(), new Date(System.currentTimeMillis()+3000000)); GoogleCredentials.newBuilder().setAccessToken(tken).build()))
但我收到一个错误:
UNAUTHENTICATED:请求的身份验证凭据无效。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。
Google 相册更新后,我无法同时选择视频和照片。如果我使用单个“video/*”或“image/*”意图,它会像往常一样工作。在视频照片意图中,它忽略第二个参数。如果第一个是视频 - 它将是视频意图,如果是照片 - 您会建议选择照片。
Intent intent = new Intent(Intent.ACTION_GET_CONTENT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setAction(Intent.ACTION_PICK);
intent.setType("video/*,image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getFileUri());
startActivityForResult(intent, 911);
Run Code Online (Sandbox Code Playgroud)
你知道如何让它工作吗?
我希望用户将一堆视频/照片导入我的应用程序。这是我之前使用的代码:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setType("image/*,video/*");
activity.startActivityForResult(intent, REQUEST_CODE_PICK_MEDIA);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,上面只返回来自新 Google 相册应用的照片。如果我仅将数据类型更改为“video/*”,则照片应用会返回视频。这是给 KitKat+ 的
编辑:
我尝试了以下代码 - 它适用于某些画廊,但不适用于大多数画廊,而不是 Google 相册:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
if (AndroidHelper.isKitKatAndAbove()) {
Log.d(TAG, "Pick from gallery (KitKat+)");
String[] mimeTypes = {"image/*", "video/*"};
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
activity.startActivityForResult(intent, REQUEST_CODE_PICK_MEDIA);
} else {
Log.d(TAG, "Pick from gallery (Compatibility)");
activity.startActivityForResult(intent, REQUEST_CODE_PICK_MEDIA);
}
Run Code Online (Sandbox Code Playgroud) 我正在研究将 Google Photos 库下载并存档到离线存储介质上的方法。在下载之前,我想计算存储照片库需要多少媒体,但我所能得到的只是用户的照片存储配额,而不是他们的 Google 照片库的实际大小。
我的理解是,配额是指Google用户的照片存储量相对于Google为Gmail、照片和其他服务提供的15GB免费存储空间的计算量。需要明确的是,当我尝试计算下载时 Google 照片库的实际大小时,该配额数字没有帮助。
有谁知道如何获取要下载的库的实际大小?
我用谷歌搜索了 2 周以找到我想要的东西。但是,我无法找到我的问题的答案,我也不知道 Google 相册开发人员如何做到这一点。以下屏幕截图来自 Google 相册应用。
当我单击 时Take a photo,它会启动(或打开)相机并允许拍照或录制视频。我还可以使用以下代码启动相机以不同的意图拍照和录制视频:
startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), ACTION_TAKE_PICTURE_RESULT_CODE);
startActivityForResult(new Intent(MediaStore.ACTION_VIDEO_CAPTURE), ACTION_TAKE_VIDEO_RESULT_CODE);
Run Code Online (Sandbox Code Playgroud)
这些行没有任何错误/问题。但我的问题是,如何启动相机拍照或录制视频?
我希望我的问题(问题)很清楚。
当照片上传到 Google 云端硬盘或 Google 照片并分享给其他人时,链接将为 \xe2\x80\x8b https://docs.google.com/xyz。但是,有没有办法将其转换为有意义的链接,例如“Presentation 2017 链接”?
\n我正在尝试使用Google Photos API增量上传一个非常大的本地照片库。
一切正常,但上传大约 1.2GB 后,请求开始被拒绝,并显示以下消息:
配额“photoslibrary.googleapis.com/total_upload_bytes”的令牌不足,并且限制消费者“project_number:XXXXXXXXXXXX”的服务“photoslibrary.googleapis.com”的“UploadBytesPerDay”
我在IAM & adminGoogle Cloud Console 部分检查了我的照片库 API 配额,发现我只使用了 10,000 个每日请求中的 80 个。
我在 Google Photos/Drive 中有足够的可用存储空间,并且尝试上传的文件相当小(~5MB)。
我在API 文档的限制和引用部分没有看到任何内容。有谁知道什么可能会阻止我的请求?