Android sample project that fetch (liked) videos from your youtube channel or any playlist.
- Use Youtube Data v3 API
- Endless scroll RecyclerView with ProgressBar
- Youtube OAuth Integration with auto renewal token
- Fetch liked/watched videos from your youtube channel
- Handle configuration changes (orientation)
- Support landscape and portrait mode
- Fetch videos from any playlist
Sure. Just follow the following steps after downloading this project.
-
Open Google developers console and click on the "Create project" button
-
Enter the project name and click on the "Create" button
-
You would be redirected to the created project dashboard
-
Click on the "Enable and manage APIs" card on the screen.
-
Click on the Youtube Data v3 API and enable it.
-
Click on the "Go to Credentials" button
-
Click on the "What credentials do I need?" button
-
Enter the SHA1 signing-certificate fingerprint
-
Enter the package name (app.vedicnerd.ytwua)
-
Click on the "Create client ID" button
-
Enter the product name and click on the "Continue" button
-
Click on the "Done" button
-
Click on "New Credentials" dropdown button
-
Select "API key" option in the dropdown
-
Click on the "Android key" button
-
Click on the "Create" button
(You can restrict the API key usage to your app only by adding package name and fingerprint but that's optional)
-
Copy the API key and paste it here
-
Done. Now you can run the app.
- Fix fragment issue on config changes
- Fix duplicate items in list issue
- Include unit tests if possible
- Implement MVP architecture
Thanks to mSobhy90 for this gist.
Copyright 2015 Ganesh Mohan
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.