Reactive (RxJava2) API client for Google Photos (formerly known as Picasa)
based on work done at android-picasa-client by Daniel Ciao.
Add this in your root build.gradle file (not your module build.gradle file):
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}Add this to your module's build.gradle file:
dependencies {
compile 'com.github.yosriz:RxGooglePhotos:{latest-version}'
}-
construct
GooglePhotosClientobject, and delegateonActivityResultevent :@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); googlePhotosClient.onActivityResult(requestCode, resultCode, data); }
-
GooglePhotosClientrelies on Google Sign-In mechanism to get access to user photos. useGooglePhotosClientobject to create a service, either sliently (if already signed in), or non-sliently (to display account selection and permission dialogs) :googlePhotosClient.createServiceSilently(activity) .observeOn(AndroidSchedulers.mainThread()) .subscribe(googlePhotosService -> { //use googlePhotosService to perform queries }
-
createServiceSilently/createServiceWithSignInmethods will returnGooglePhotosServicewith proper authorization on success,GooglePhotosServiceis the API gate to perform Google Photos queries. -
for switching user/sign out, use
GooglePhotosClient.signout().
see Sample project for full demo.
In order to be able to sign in using Google credentials, an app must be registered through Google Dev Console, using key store that app was signed with. see this SO answer for required steps.
This library using Picasa Web Albums Data API, as Google stated that Picasa is retiring, any breaking changes can be happen in the future.
Copyright 2017 Yossi Rizgan
Copyright 2016 Daniel Ciao
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.