I have the following URL https://api.vimeo.com/search?from=me&q=test but when i try access it tells me no user credentials where provided. i already made a token with all the fields including private and public and also the other spaces.So in this URL where and how should i add the token? I found in some documentation that said that this link https://vimeo.com/search?q=Mazda+2 will also work for api.vimeo.com/search?q....... what i want is to integrate in my android app depending on the selected it in a recyclerView do a query according to the name of the item to put it at the end of https://vimeo.com/search?q= (Name of the item) and then show the results in a Listview for the user to select which videos they could see.
And then play the video selected.
Your question is very general, vimeo uses OAuth 2.0, you have to decide what type of token you need for public or private content, depending on it your authentication workflow will change.
You should first study the authentication documentation of the vimeo api.
Related
If I install the app when clicking the dynamic link. All of that information from dynamic should be still available when I open the app for the first time.How can I get that information? It is not working when I use this: getInitialLink() returns Promise<string|null>;
Since, you haven't mentioned - I'm assuming you are having problems with shorter urls, if that's the case try putting the longer url.
Or refer here on Simon's answer: When I use the long instead of short links, everything works perfectly fine.
On Android, you use the getInvitation() method to get data from the Dynamic Link:
AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback
(/* ... */);
Then, in the callback, you can get the data passed in the Dynamic Links link parameter by calling the getDeepLink() method:
Firebase Documentation - Use Case
For future reference or detailed answer on Firebase Dynamic Links
Behave just like normal Links
In cases where the application doesn’t require installation (say, if it’s already installed) then clicking the Dynamic Link will automatically open the link to the desired screen.
Dynamic Links have a very simple process flow:
The user begins by clicking the Dynamic Link
If the the needs of the Dynamic Link target are satisfied (this is, the application being installed) then the user is navigated to the target location
Otherwise, if the application requires install in order to navigate
to the Dynamic Link target, the the user is taken to the point of
install for the application. Once the application has been installed,
the user is navigated to the target location of the Dynamic Link
And if that wasn’t all, we can integrate Dynamic Links with Firebase Analytics to track the interaction with any links that we generate for our applications. But if we only require simple tracking, then we can use the automatic built-in analytics from the Dynamic Links panel within the Firebase Console where we can also obtain attribution and referrer information for interacted links with no extra effort required from our side.
What makes it different from Google Analytics?
One of the first things that came to my mind when I read about Firebase Analytics was, “What about my Google Analytics setup?”. So if you already have Google Analytics in place, then why would you make the switch to Firebase Analytics? Well, here’s a couple of differences between the two:
Audiences
We can use Firebase Analytics to create Audiences — these are groups of users that we can then interact with using other Firebase service such as Firebase Notifications and / or Firebase Remote Config.
Integration with other Firebase Services
An awesome thing with Firebase Analytics is that we can integrate other Firebase services with analytics. For example, creating an Audience of users who have experienced a crash reported through Firebase Crash Reporting.
Lower Method Count
The Google Analytics dependency on Android has a total count of 18,607 methods and has a total of 4kb used for dependancies. On the other hand, Firebase Core (for Analytics) has a method count of 15,130 and only 1kb used for dependancies.
Automatic Tracking
When we add the firebase core dependency, it will automatically begin tracking a collection of user engagement events and device information for us — this is useful if you’re looking to only collect the minimal data for your app.
Unlimited Reporting
For up to 500 events, Firebase Analytics provides us with unlimited reporting straight out of the box for free!
No Singleton Initialisation
When setting up Google Analytics on Android we are required to initialize a Singleton instance. Firebase Analytics are simply available by fetching the instance directly from where we wish to track data. This isn’t much effort obviously but just makes the setup flow slightly easier.
Single Console
All of the data for every Firebase service is available for a single console. That makes it both easier and quicker for us to navigate from checking the analytic stats for our app to viewing the latest crash reports.
It looks like this is a react-native-firebase open bug for android
For fix the only thing that is required to be changed in module code:
private boolean isInvitation(PendingDynamicLinkData pendingDynamicLinkData) {
return FirebaseAppInvite.getInvitation(pendingDynamicLinkData) != null;
}
to
private boolean isInvitation(PendingDynamicLinkData pendingDynamicLinkData) {
FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(pendingDynamicLinkData);
if (invite != null && invite.getInvitationId() != null && !invite.getInvitationId().isEmpty()) {
return true;
}
return false;
}
Bug reference : https://github.com/invertase/react-native-firebase/issues/1273
Please Check Your Manifest file
open AndroidManifest.file => In your activity tag there is intent-filter tag put below line in that tag.
<data android:scheme="https" android:host="your.dynamic.link" />
<data android:scheme="http" android:host="your.dynamic.link" />
If already done then check this link for the full blog on the dynamic link with react native.
Link: http://blog.logicwind.com/react-native-dynamic-links-using-firebase/
I hope this will help. sorry for the typos.
For example, user is navigating to google.com in WebView.
Is it possible to authorize him there via Google Account Picker (something like described here https://developers.google.com/android/guides/http-auth) to simplify authorization instead of manually logging in via web form?
Android Web browsers (for example, Google Chrome) are authorizing user via this method).
Part I: Using the Google Plus Services API
If I understand your question correctly, you may be able to achieve what you are trying to do using the Google Plus Services API.
You create your GoogleSignInOptions and then create your GoogleApiClient using these sign-in options. From there, you use the Auth.GoogleSignInApi.getSignInIntent with your GoogleApiClient as the parameter.
This intent should launch a SignInIntent that presents the Google account picker (that will include accounts that have been accessed on the device previously, and the ability to add another account).
Once you get back the GoogleSignInResult, you can verify that the user was authenticated and then create the authentication flow as you would otherwise.
Even included in the Android SDK is the Google SignInButton, which you can use right in your layout instead of having to create a custom button for the sign-in.
Part II: Using WebViewClient
Now, if you are trying to use a WebView to authenticate them, your best bet is to extend the WebViewClient class.
Things you will need: clientId, clientSecret, and clientScope (all of these details will be given for you when you create your application in the Google Developer Console)
First things first, your URL to authorize will probably be as follows: https://accounts.google.com/o/oauth2/auth?response_type=code&clientId={your client id}&state={SOMESTATEINFO}&access_type=offline (access type if you want offline access). This should be the initial URL of your WebView
Next, you will want to modify your extended WebViewClient class. What you will want to do is override the shouldOverrideUrlLoading(WebView webView, String url) method to listen for your redirectURL. Probably the easiest thing to do is to use url.startsWith(<your redirect URL>) to detect this. You can then parse the response. If your response contains error, then it means something went wrong. Otherwise, you should get back two fields in the URL: code and state. If you do not get error back, then return true for shouldOverrideUrlLoading.
Once you get your code, you can create a new GoogleAuthorizationCodeFlow, using your client, scopes, and secrets.
Once you have your flow, you will need a GoogleTokenResponse, which you will be able to get using the code obtained above for your authorization code, using GoogleTokenResponse response = flow.newTokenResponse(<code>).setRedirectUri(<redirectUri>).execute().
Once you have done this, and you have your response, you can get your Credential using flow.createAndStoreCredential(response, null).
And voila, using this Credential, you can authenticate your calls.
Caveats I have not been able to get the WebView to recognize accounts that have been signed into on other web browsers, so the account picker may only show the accounts that have been signed into on the app-specific WebView.
tl;dr It is possible to do this with a WebView and WebViewClient, but it's messy and a little bit more roundabout than using the Google Plus Services API.
This example better illustrates the authorization flow/credential stuff once you get the authorization code and such.
And here's some documentation on the WebViewClient that may be useful as well.
Hope this helps point you in the right direction!
I am making one android application related to instagram so that I read all instagram developer apis after that i tried first user authentication it is working fine I am accessing user data by user-id api.Now i want location information for that i need location-id.I don't know where will i get
with user-id:
https://api.instagram.com/v1/users/**userid**/?access_token=13145898924.f59def8.f14ee72f42f14bea9f56d6dc96924483
with location-id:
https://api.instagram.com/v1/locations/location-id?access_token=13145898924.f59def8.f14ee72f42f14bea9f56d6dc96924483
in first url I got userid and I am retrieving information
in second url i don't know location-id please help me
1: First use facebook graph API to search locations and get facebook_places_id. Here is an example:
https://graph.facebook.com/search?q=&type=place¢er=37.77493,-122.419415&distance=5000&access_token=ACCESS-TOKEN&expires_in=5184000
Get the facebook_places_id and use this instagram location search API to get the corresponding instagram_location_id
https//:api.instagram.com/v1/locations/search?facebook_places_id=273471170716&access_token=ACCESS-TOKEN
2: Get the location id and then make the instagram location media API to get recent media:
https://api.instagram.com/v1/locations/514276/media/recent?access_token=ACCESS-TOKEN
3: Here is an implementation of Instagram location media search using the above method:
I can create a file and give permissions with Driver API.
For Spreadsheet i use "Spreadsheet API".
The permission that i give is: "public for anyone - read only". The case is i can't read the Spreadsheet Cells. The only way that i can read is if i add "Publish to the Web" like say James Moore. Code example:
String urlString = "https://spreadsheets.google.com/feeds/list/0AsaDhyyXNaFSdDJ2VUxtVGVWN1Yza1loU1RPVVU3OFE/default/public/values";
URL url = new URL(urlString);
ListFeed feed = service.getFeed(url, ListFeed.class); // Then feed.getEntries()
But if thats the case, how i can read a shared file or how i can set "Publish to the Web" a file via Java code?
First, Documents List API is depricated. Use Drive API instead. You can achieve the same goal by Files.insert().
Second, use spreadsheets api to read spreadsheet. You can also use Spreadsheet service of Google Apps Script. You don't have to publish to the web if you use either one of these two.
I found that for now is not possible. Maybe in a near future;
Spreadsheet API: https://developers.google.com/google-apps/spreadsheets/
Weeks ago Google put some lines that explain this:
The private visibility can be replaced with the public visibility, which enables the feed to work without authorization for spreadsheets that have been "Published to the Web". The public visibility is supported on the worksheets, list, and cells feeds. The public visibility is useful for accessing the contents of a spreadsheet from the client context of a web page in JavaScript, for example.
Publishing a spreadsheet to the web can only be done from the Google Spreadsheets user interface. To start publishing a spreadsheet to the web, select File > Publish to the web from the Spreadsheets user interface, and then click the Start Publishing button.
Warning: API requests using the public visiblity for feeds on spreadsheets that are not "Published to the Web" yield an HTTP 400 Bad Request response with the message The spreadsheet at this URL could not be found. Make sure that you have the right URL and that the owner of the spreadsheet hasn't deleted it.
Warning: The public visibility does not work for spreadsheets that are made "Public on the web" from the "Visibility options" portion of the sharing dialog of a Google Spreadsheet. "Published to the web" and "Public on the web" are different ways to share a spreadsheet. We are aware that this is confusing, and will address it in a future version of the API. For now, we hope that this detailed warning prevents confusion.
The Wishlist Facebook app example is supposed to demonstrate adding custom objects to the Facebook open graph. I have managed to get the application so that it runs and creates a Facebook object with a graph ID. The problem is I don't see any of the custom object information I enter on the Android end of the app appearing at the Open Graph node associated with the returned ID, nor do I see this information appearing anywhere else on the internet.
The Android end the app seems to encode the information into a URL which is then added to a bundle and put in an HTTP post. For example when I entered the product name "baseball" along with some image the bundled URL was:
https://evening-frost-8481.herokuapp.com/Server/product.php?og%3Atitle=baseball&image=4f038f901dc31.jpg
When I examine the resulting Facebook aggregation it contains a link to the url below (note: there is no explicit reference in my app to the extension /Server/product.php which suggests Facebook may be receiving some of the information sent from my Android app.)
http://eveningfrost8481.herokuapp.com/Server/product.phpcode=AQAcvYSQQhesHLoXFHF9NUK2m__2_ye722T8lTfCs_9EKlgWp-ngUKls-fUet7FXUG6Gv8pbEpDuSATVpdsHUE7FcD6TmU
Is there anyone out there who has successfully implemented this demo who can give me some over view of how the custom data is supposed to get to the internet and finally Facebook?