标签: google-photos-api

位置数据Google相册API

当我通过API查询Google照片中的照片时,它不会返回与图像相关联的任何位置数据.当我在Google相册中查看有关图片的信息时,我可以在地图上看到该位置,但API并未向我提供这些坐标.

[mediaMetadata] => Google_Service_PhotosLibrary_MediaMetadata Object
        (
            [creationTime] => 2018-07-13T13:20:38Z
            [height] => 4032
            [photoType:protected] => Google_Service_PhotosLibrary_Photo
            [photoDataType:protected] => 
            [videoType:protected] => Google_Service_PhotosLibrary_Video
            [videoDataType:protected] => 
            [width] => 3024
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

            [photo] => Google_Service_PhotosLibrary_Photo Object
                (
                    [apertureFNumber] => 1.8
                    [cameraMake] => Apple
                    [cameraModel] => iPhone 8
                    [exposureTime] => 
                    [focalLength] => 3.99
                    [isoEquivalent] => 50
                    [internal_gapi_mappings:protected] => Array
                        (
                        )

                    [modelData:protected] => Array
                        (
                        )

                    [processed:protected] => Array
                        (
                        )

                )

        )
Run Code Online (Sandbox Code Playgroud)

google-api google-photos google-photos-api

12
推荐指数
2
解决办法
1752
查看次数

java.io.IOException:从流读取凭据时出错,未指定“类型”字段

我正在尝试使用我自己的帐户对 google photos api 中的 java 应用程序进行身份验证,但根据文档,该帐户不支持 service_account 。问题是 google-console 生成的用于 OAuth2 身份验证的文件不包含类型字段,只有通过为服务帐户创建凭据生成的文件才有效。

我尝试通过读取/不读取生成的文件来验证网络应用程序gcloud auth application-default login,该文件确实包含 type/client_id/client_secret/refresh_token。

例如:

        PhotosLibrarySettings settings =
                PhotosLibrarySettings.newBuilder()
                        .setCredentialsProvider(FixedCredentialsProvider.create(
                                GoogleCredentials.fromStream(
                                        new FileInputStream("credentials.json")
                                )))
                        .build();
Run Code Online (Sandbox Code Playgroud)

有什么想法可能有帮助吗?

google-authentication google-photos-api google-auth-library

8
推荐指数
1
解决办法
1万
查看次数

使用google-api-python-client使用Python访问Google Photo API

根据Google API客户端库页面,可以使用python客户端库访问Google Photos API,但是使用安装后,pip install -t lib/ google-api-python-client我看不到与Photos API相关的任何内容。

如何使用Google构建的客户端库,而不是手动调用REST API?

python google-app-engine google-photos-api

7
推荐指数
3
解决办法
6665
查看次数

photos.google.com/activities/photo_likes - 在 javascript 中调用

https://photos.google.com/activities/photos_likes返回共享相册中点赞的照片。我想使用 photoslibrary api 或 events api 在共享相册中查找喜欢的照片。

但是,我找不到有关如何使用活动 api 或从 photoslibrary api 执行此操作的文档。我尝试过 photoslibrary api mediaitems.search,但是,它似乎不包含 photos_likes 作为元数据值。

我可以使用 photoslibrary api mediaitems.search 中的哪个元数据值或标签来查找共享相册中喜欢的照片?如果这是错误的 api,我应该使用哪一个?

javascript google-photos google-photos-api

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

检索 Google 相册中存储的视频的文件大小

背景:我想看看如何使用我的 Google Photos 空间,我用 Python 编写了一个小脚本,它使用 Google Photos API 来检索我的所有相册及其内容(使用https://developers.google.com/photos /library/reference/rest/v1/mediaItems/search)。文件信息不存在,但使用mediaItem baseUrl(记录的https://developers.google.com/photos/library/reference/rest/v1/mediaItems#MediaItem)然后我可以执行HEAD请求并content-length从标头中获取文件信息。这对于照片来说似乎效果很好,但视频的大小被严重低估了。我的猜测是,Google Photos 正在准备流式传输视频,并且不会发送整个视频信息。

问题:有没有办法检索存储在 Google Photos 上的视频的文件大小,希望不必下载整个视频?该应用程序确实知道文件大小,但这似乎在 API 中不可用。有没有办法发送一些请求标头来获取文件大小?

额外信息:我正在使用 Python 和httplib2.Http()来处理我的HEAD请求(很高兴使用 requests 模块或任何其他替代方案)。

这是从 API 检索到的信息,该视频文件略高于 100MB(绝对不是 30k):

{
  "id": "XYZ",
  "productUrl": "https://photos.google.com/lr/photo/XYZ",
  "baseUrl": "https://lh3.googleusercontent.com/lr/ABC",
  "mimeType": "video/mp4",
  "mediaMetadata": {
    "creationTime": "2018-11-27T03:43:27Z",
    "width": "1920",
    "height": "1080",
    "video": {
      "fps": 120,
      "status": "READY"
    }
  },
  "filename": "VID_20181126_174327.mp4"
}
Run Code Online (Sandbox Code Playgroud)

HEAD这些是从请求接收到的标头baseUrl

{ …
Run Code Online (Sandbox Code Playgroud)

python video-streaming http-headers google-photos google-photos-api

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

Google Photos API - 新版本?

我正在编写一个程序来在本地备份我的 Google Photos 库,上周代码工作正常,但在过去几天里,我不断从 API 客户端返回错误,说“photoslibrary v1”不存在在 Google 的 API 库中。文档根本没有改变 - 是谷歌那边有问题还是我有问题?

from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools

class Photos:
def __init__(self):
    self.SCOPE = "https://www.googleapis.com/auth/photoslibrary"
    self.CLIENT_SECRET = "client_id.json"
    self.store = file.Storage("storage.json")
    self.credentials = self.store.get()
    if not self.credentials or self.credentials.invalid:
        self.flow = client.flow_from_clientsecrets("client_id.json", self.SCOPE)
        self.credentials = tools.run_flow(self.flow, self.store)
    self.PHOTOS = discovery.build("photoslibrary", "v1", http=self.credentials.authorize(Http()))

photos = Photos()

googleapiclient.errors.UnknownApiNameOrVersion: name: photoslibrary  version: v1
Run Code Online (Sandbox Code Playgroud)

python oauth-2.0 python-3.x google-photos google-photos-api

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

Google 照片 API - Access-Control-Allow-Origin

我正在构建一个设计工具来创建完全可定制的照片产品,如相册。我使用 firebase(数据库和存储)和 angular4 等技术。为了将 google 照片与我的网络应用程序集成,我使用了 google 照片 api。当我尝试使用 html canvas (toDataUrl) 编辑用户的照片时,出现以下错误:
“对 '...' 图像的访问已被 CORS 策略阻止:没有 'Access-Control-Allow-Origin' 标头存在于请求的资源。”
我知道这意味着什么,但我找不到任何解决方案来编辑​​用户的照片并将它们用于打印目的。有人可以帮我吗?

canvas todataurl google-photos google-photos-api

6
推荐指数
0
解决办法
676
查看次数

是否可以删除通过 Google Photos API 创建的照片或相册?

即使完全访问该程序,似乎也没有任何方法可以删除创建的照片或相册。

删除支持对于完成照片 API 至关重要。缺乏删除功能确实限制了 API 的实用性。能够创建东西但要求用户手动删除它们是不好的。

我是否忽略了某些东西并且有一种方法可以删除图片和相册?

谢谢!

google-photos google-photos-api

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

将照片上传到Google Photos API时未返回上传令牌

我正在使用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的有效示例吗?

谢谢!

java http google-photos google-photos-api

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

在Android中使用Google api for Photos java客户端

几乎所有的谷歌服务都可用于Android的"谷歌播放服务",有些仍然只能用作java库,并且有指令在android中使用这些java库,

https://developers.google.com/api-client-library/java/google-api-java-client/oauth2#android

上面的链接讨论了如何使用Oauth2创建"GoogleAccountCredential"并将其用于"任务"服务.

现在我想按照相同的流程使用新发布的"Google Photos API",

https://developers.google.com/photos/library/guides/get-started-java#get-library

这里的代码片段,

PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();
Run Code Online (Sandbox Code Playgroud)

但是在这里找不到任何方法来获取android中的Oauth2凭据,它们似乎都是不兼容的.

简而言之,如果我必须在android中使用库,那么上面的代码片段中的'credentialsprovider'应该怎么做?

android google-play-services google-photos-api

6
推荐指数
0
解决办法
225
查看次数