I understand that these are client-side apps, but all three must be based on some component of the computer itself.
Which component is this, and how can I utilize it programmatically for a C# app (NOT FOR WEB)?
They're client-side, and they use different sources for the location information. The W3C API in Firefox uses Google Location Services (a JSON API) and I bet Google Gears uses the Google database as well, while Loki uses the Skyhook Wireless service. And different browsers who implement the W3C API can use different location services. Mobile Safari uses Skyhook, or GPS info from the device itself.
You could look at any of these providers for accessing location through your desktop app. Google Location Services appears to be a particularly simple web API, but I think you can also get programmatic access to Skyhook. Since you're writing in C#, you might look into the Windows 7 Location Platform, which provides an easy-to-use OS-level framework that abstracts away the different providers.
(Sorry for any typos and the lack of links; answer posted from my tablet.)
There is a version of geolocation using skyhook wireless sdk.And here is another link for you it is called WPS(wi-fi positioning system)[enter link description here][1]
http://www.j2i.net/BlogEngine/post/2008/12/30/Accessing-the-Skyhook-Wireless-SDK-from-C-prerelease-wrapper.aspx
Related
Does Azure offer full APIs to accomplish all tasks without opening azure portal.
I heard some REST APIs are available but not sure about their coverage.
My questions is can we replace Azure portal completely by our customized enterprise App which actually calls REST APIs provided by Azure.
here is Why I need this strange thing
We need this as our organization is developing a Internal Unified App to manage our resources on all three cloud Azure,AWS and Google Cloud from single point..
The answer to your question is yes. You can certainly do that. As Alex mentioned in his comments, take a look at Azure Service Management API to begin with.
However there are a few things I would like to point out:
As you know there are two portals right now (Live and Preview). Unfortunately both of these portals use different sets of API. Live one uses Service Management API and the Preview one uses Azure Resource Manager (ARM) API. So you have to make sure that you use both of these APIs in your application. Though Microsoft is pushing very hard to make all the APIs exposed through ARM API but there's still a lot of work that needs to be done.
Another thing I noticed is that at times documentation for REST API for certain services is missing though there are ways to find that information. Just keep that in mind if you're building support for these services and not able to find documentation.
I would suggest you start here: https://msdn.microsoft.com/en-us/library/azure/mt420159.aspx and then find out REST APIs for the services you're interested in supporting in your application.
Is there any way to detect the source from which the app is downloaded? For example if the app has been downloaded directly from the store or it was redirected to store from some mobile site. Something similar to CampaignTracking in Android. Any library which can detect this?
If you are looking for a Rate & Review mechanism, use the MarketlaceReviewTask class. It is documented here. Here's a simple method to do it:
MarketplaceReviewTask mrktreview = new MarketplaceReviewTask();
mrktreview.Show();
You can fire this code from a click event or something similar. This opens the rate and review page for your app, after it is published in the store. That is all Microsoft is providiing currently to help the developers. If you are looking for detailed tracking or instant bug detection (after the app is published), you can use third party services that can do this. I recommend Appboy.
Unfortunately not.
As distinct from Android, Apps can only be deployed through the store (or a developer sideload) on Windows Phone. But there is no way to recognize whether a website hyperlinked to the store page or the user downloaded it directly via the store application.
I found a few links regarding the same. Flurry provides the support for campaign tracking through its library. A few links help here.
Flurry http://www.flurry.com/
Distimo
http://www.distimo.com/conversion-tracking
Tapstream
https://tapstream.com/developer/windows-phone-sdk-documentation/
https://tapstream.com/developer/conversion-api/
Scope: I am developing a mobile application using Xamarin (C#) to target both Android and iPhone (initially Android). The application logic is separated out in to a PCL (C#) where possible to ensure maximum code reuse. The application integrates with the YouTube Data API v3 for the purpose of rating retrieved videos and allowing subscription to a channel.
Background: As per the documentation (http://developer.android.com/google/play-services/auth.html) I have used the suggested approach to generate an OAuth2 token for the authorised requests from Android, using the AccountManager.getToken method and this works fine and returns a token.
The next step is to make requests using this token (let's take rating a video as an example). My initial idea was to utilise the .NET client library for the YouTube Data Api (https://developers.google.com/api-client-library/dotnet/get_started). However, it seems that this would take us through the whole authorisation process once again and would likely require a web view redirect or similar. I had hoped that there may be a way to use a token which had already been retrieved to create the credential object or create the service from directly, but it doesn't appear to be the case.
The second problem I have found with the client library is that not all of the classes appear to be referenced when adding the NuGet package, namely the GoogleWebAuthorizationBroker. Additionally, as we are in a PCL we are limited with common objects such as FileStream which is utilised in the documented examples (https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth). I did try to use this library from a non-PCL project also to confirm that it wasn't just the limited references in the PCL which were responsible (for the GoogleWebAuthorizationBroker reference issue).
The other option therefore was to look at manual construction of the URL and then posting the data to make the HTTP request ourselves. This too has met with limited success similar to the question listed here: Like video with access token on YouTube using YouTube Data API v3?, which doesn't appear to be answered (suggestion to use the client api). Is this method supported, and if so are there some documented .NET examples? This method would allow me so get the token natively (on android, iphone) and then pass it to a PCL library where I could make the requests, which would be preferable.
Question: So my question is given the scope of what I am trying to achieve here what would be the approved/suggested approach. Clearly the more I can do within the PCL the better from a code reuse point of view, but right now I'd be fairly satisfied with an approach that will actually just work for Android. If anyone has any examples of successfully making authenticated requests to the YouTube Data Api (v3) from Android that would also be useful. I feel like I've trawled through a lot of the documentation to this point over a number of days but not found anything definitive to say "this is how you should do it".
Thanks in advance for any help.
Well, I wouldn't necessarily deem this the answer to my question, however, it is the approach I have taken, so thought I would report back. I have kept the OAuth2 token generation code inside the Xamarin Android project and then pass that on to a PCL which has a repository to deal with the YouTube integration. As there are only a few calls I need to make (ratings, subscriptions and comments) I have elected to manually construct the POSTs via HttpClient and proceed that way.
Perhaps not as elegant as the client library integration but gets the job done. For reference this is made a lot easier if you use the Google OAuth Playground (https://developers.google.com/oauthplayground/) first to get the token and confirm the correct JSON for your request.
If anyone has any problems with this approach then let me know and I can post specific service calls as an example.
From what I can gather, this isn't what google-api-dotnet-client is for.
If you look at the source code (https://github.com/google/google-api-dotnet-client), you can see that GoogleWebAuthorizationBroker is defined for Windows Store, WP 8 etc.
This suggests that the library is intended for .NET clients running on Microsoft operating systems, rather than Android, iOS etc.
These might be the droids you are looking for:
https://github.com/xamarin/GooglePlayServicesComponents (Android)
https://github.com/xamarin/GoogleApisForiOSComponents
They are Xamarin wrappers around the Google SDK for each platform.
This makes sense because of the way Google APIs are called on Android. Rather than rely on a client secret which one should not embed in the application, the you register the app's signature against the "installed app" client ID. The operating system then provides this key when calling google services. You won't get that functionality in a PCL :)
For my semester assignment, I want to make a simple C#/.NET windows desktop application that will call the Instagram API and use its Photo Effects/Filters.
But my professor has said that the app must be a standalone windows desktop app which means it should not have any internet or database connectivity.
For example: If a user selects an image/photo from his computer using the desktop application (that I want to develop), I want the application to show a bunch of instagram filters that can applied to that image (without internet or any database connection).
My basic question: Is it possible for me to develop such an app that uses the instagram API but does not need any internet or database connectivity? If it is possible, can you guys guide me? I have visited instagram.com/developer/authentication/ link but I am not sure what to do. And if it is not possible, is there any other way to make an app that applies some effects/filters to an image? Please help me out. Thanks.
EDIT: I am still a little confused though. When we use intagram on phone, we use internet only when we want to upload a photo. Filters are offline features. So is there any way I can get these features from the API? As my teacher said I 'can use API but not internet' I assumed APIs can work without the need of an internet connection.
To implement offline image processing, you would either need an assembly of the filters or the actual code. I don't think that Instagram provides such tools. But there are plenty of third party libraries out there for image processing, if that's what you are looking for. For instance the AForge image processing.
Ultimately I want to create a desktop app that allows users to update their own status, view status' of their friends, update pics etc. - basically a lot of the functionality the facebook website provides. Through looking through some tutorials and sample projects it seems that an app must be created for the facebook account. Now is this the facebook account of the developer (i.e. mine) - which will provide an API key that will allow any other user to log in?? Does every desktop project need to authenticate the user through a facebook dialog window to take the users' credentials?? Where does OAuth fit into this?? If anyone can shed any light as to the structure of the facebook api and the ways in which I can grant this functionality from say a WPF C# app for example I would really appreciate it.
EDIT: Before complaints of a potentially huge question or too 'vague', my question is specific to the integration/use of the facebook API in desktop applications - not how to then retrieve status feeds etc. I'll work that out myself.
Per Facebook documentation, all desktop apps will need to implement some form of web browser integration, whether embedded within the desktop app or controlled.
See: http://developers.facebook.com/docs/authentication/
Desktop Apps
Our OAuth 2.0 implementation does not include explicit desktop app
support. However, if your desktop app can embed a web browser (most
desktop frameworks such as .NET, AIR and Cocoa support embedding
browsers), you can use the client-side flow with one modification: a
specific redirect_uri. Rather than requiring desktop apps to host a
web server and populate the Site URL in the Developer App, we provide
a specific URL you can use with desktop apps:
https://www.facebook.com/connect/login_success.html.
Don't worry it took me two solid days of trial and error and re-re-reading of the documentation on authentication to finally "get" it.