Socially Connected - java

I have received a requirement to develop a feature to check if 2 email id's, logins or identities are socially connected. I hope to ask 2 users their facebook id, linkedin id (and in future may be more social networks). I then hope to use their facebook id's connect to facebook api's and determine if
Are these two connected socially, are they friends ?
Are these 2 connected through mutual friends
Do they have n levels of mutually connected friends ? (like in linkedin)
Similarly I hope to use linkedin api's to identify if they are socially connected and if not, how far they are.
My question is
I have been in a social project before and understand that facebook and linked in provide a lot of restrictions on their api's. Do you know of any that stand out very obviously from I need them to do for me ?
Are there any privacy/legal issues that I need to be aware of, in these scenarios. Will there be a issue if I were to let each of the users know that they are x networks away from each other ?
Will I be able to use the api's free or is there a particular paid service that these social networks offer ? I would be worried about costs when i deploy right ?
Edited
I put some questions on linkedin forums. This is the response I got
There is no extended information available via the API for developers of business accounts. The visibility is based on the user who has authenticated and what they can see in their network. The API is not designed for you to learn information about two users other than the one who has authenticated.
Seems fair from their stand point. Even a business account would not provide private information about 2 random people's "socially connected" information.
I think I need to explore the option of having my users login/connect to linkedIn and provide me with that information. Crazy as it sounds, I will explore this.

No they should both be free. Linked in has a ton of token requirements for pulling deep information. Be sure to read the linked in Docs pretty indepth. LinkedIn hates if your exporting any user data and will throw you under the bus in a minute if you attempt this. Also linked in's very limiting tword the # of calls you can make per account in an hour. SO be prepared for rate limiting.

A few months back I had contacted facebook, linkedin and google+ for a similar requirement. Seems that they dont appreciate scraping at all. I dont know if you intended to do that. They also mentioned that this information relates to peoples privacy, so they need to login to allow you to do that. Infact you need to be in their network to achieve something even close. You will also need a plugin/app to work along side with you, which will have other restrictions like # of requests per day/hour.
In short, you are requesting information from deep within their databases, they are not going to like it.

With some more research, its clear that without both users providing my app the authority to query on their behalf about the other user, I cannot get this working. Not even with business accounts with both linkedin and facebooks. The reason is obvious, privacy.

Related

Facebook Signin in a mobile App (backed by a REST API)

I have done some researching but I haven't find a clean explanation of how it all work.
I would like to know how does applicationa like Instagram, Wordcrack (online game), AirBnb and many other app have tier "Login with Facebook" done?
I currently work on the Java REST services that backups up an iOS app.
If some one already has done a similar things in their app/server I would really appreciate some help
I'm not looking for ready to use code answer but more of a general idea of the architecture to achieve this.
thank you!
I've done it in JavaScript, but the principle will surely be the same.
You have an API, provided by facebook. There are some information there :
https://developers.facebook.com/docs/apis-and-sdks#third-party-sdks
And, more than that, you have declare your own app on facebook. This has, for me, 2 goals :
provide the url of your server, so when you'll call facebook with the
login information, he will know where to redirect
specify the access your app need.
When i've begun to watch this, i've discovered satellizer. I think that's a good entry point to understand how it works with an example :
https://github.com/sahat/satellizer
Hope this help.
Supporting login through their website (Facebook,Twitter,Instagram etc) allows a user to use his already active profile to signup to a portal or an app. This way a user experience is enhanced and having to have separate login credentials for different apps and sites are reduced.
A developer utilizes the APIs or SDKs that these social networks expose to let you integrate it in your app and provide an easy sign up process to your users.

Lexis Nexis people search

I have been asked to use LexisNexis services for the verification of the users in the java application we are developing.
A user opens up the registration page and his/her verification is done
through LexisNexis services.
And thats it. I have read this and this article about it. Still I am not sure if it does what exactly I am looking for i.e. verification/searching people.
The idea is to use Social Security Number for the verification. So, can we really use LexisNexis for the verification of people or is it something else I should be looking for? It'd be nice to have some direction.

Shopping Cart API for any payment gateway? (PayPal at least required)

I'm trying to find a java based API that wraps up the details of processing a credit card transaction or purchase via PayPal at a minimum, and other gateways as a plus in an IPN fashion (ie no products required, just an invoice amount)
As a bit of a simplification, I think I should be able to do something like the following pseudocode:
shoppingApi.postTransaction("paypal", amount, currency, invoiceId, purchaseDescription)
and later on during a scheduled task or on notification from an IPN url:
completedPayments = shoppingApi.getUnprocessedCompletedPayments();
for (Payment payment: completedPayments)
{
// my code to process a successful payment.
}
and then I'd process the purchases.
I know there's tons of shopping carts out there that do this, but from what I've seen, they all want you to put your products in their system, which doesn't work for me. My products are in a 3rd party system, and I just want to process a payment. That's all.
And no cart I know of exposes a simple API like the one I'm suggesting above. I don't care what payment type my users use, I just want to know if they completed it. I know that Shopify.com has a REST api that does something like this, but it's not IPN like (it wants your products in it's system).
Thanks in advance for any suggestions!
EDIT: I know of course that there'd be other statuses that I'd need to look at, like "pending", etc, but that'd simply be another simple API call, like shoppingApi.getPendingPayments(). If the API did the above 2 calls, I'd be pretty happy ;-)
EDIT 2: I'd prefer opensource, but am totally open to commercial if it's a flat fee, can be trialed to some extent, and is reasonably mature/respectable
EDIT 3 - MAJOR NOTE: I feel confident that such a library should exist. Whether or not it does is another question. So to be clear, I'd really like to see "yes, use this library" answers, not "NO", this can't be done, as I'm %99.999 sure it can be done ;-) Thanks in advance!
There's this site which could be used via jruby.
This may or may not come somewhere near meeting your requirements.
You can not get an API for payment gateway integration. You will have to write your own development for the processing with various payment gateways. For that you have to understand that which payment gateway gets which parameters and its requesting URL for requesting for the paymentgateway. You can get this information by varius payment gateway websites.
This url may helpful to you
For HDFC : http://www.hdfcbank.com/sme/sme-details?id=guzh6m0i
For Paypal : https://merchant.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=merchant/payment_gateway
Secure Pay : http://www.securepay.com.au/
techpro [ ICICI ] : http://forums.devarticles.com/asp-development-3/how-to-integrate-payseal-icici-payment-gateway-95329.html
Here you can also find the development APIs or the guidelines for the development that which parameters they will require for processing the requests.
Hope this may help you.
Enjoy !!!
I know only this product (commercial): IBM WebSphere Commerce Payment
There is a tutorial to integrate also with PayPal: Integration with PayPal
I dont know the license cost, you must contact IBM for this.
Java SDKs are available here -
https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index
All of them come with a nice handy example (check README.md files) which will get you started.
I would say it's better to write your own api, because anything related to payment and purchase processes will cost you money to get.
You need the following for your app to accomplish:
You need a server that will communicate with PayPal (or
DataTrans or any other payment systems)
You need a database to capture all the payments transferred:
That have been settled
That have been payed but the settlement is not received yet
That still need to be payed
Installments done, finished, or yet to be done
The server needs to be any web app (spring with hibernate etc)
that has some security (acegi, spring)
Every-time a user logs in and starts purchasing online you need to
do a call to PayPal and get the response in a callback to the
browser of the user
Every time you have a settlement you save the needed data in the DB like user-id purchase-method owner card-number invoice-id PayPal -token
I hope this helps
Though the thread is very old, I just wanted to add details of an API which I came across recently, that may match the requirements of the question. I hope this will help others who are looking for similar answers.
Try Shopizer. This API was build on Java, Spring, Hibernate, jQuery and elasticsearch.

How to authenticate with groupon?

I'm looking to develop a groupon android app that let the user look at their purchased groupon along with other stuffs. I know there's an app out there already. But it doesn't do the other stuffs I need.
Anyways, I'm struggle on authentication? How do I take the same idea from web browser and allow my app to login with user credential and pull various information? Groupon has the API. But it seems to be specific to a client key (ie. Look at your own stuffs only)
If someone can point me to some directions, or if you wrote similar codes and could share, I would really appreciate it. I'm looking to the same authentication with living social as well.
Thank you for your time
Jack
Here is an example of how to access a web-service using Android's api's.
Authentication shouldn't be especially difficult.

Can I create a Google account programmatically?

Does anybody know if via the google api in java
I can create google accounts programmatically.
Yes
(ish)
The Admin SDK Directory API allows you to create accounts which work with Google tools (Gmail, Calendar, etc.) but are not #gmail.com / #googlemail.com accounts.
This is used by companies to automate creation of accounts for online google tools when new users are added to networks and similar scenarios.
User management is documented here.
This replaces the provisioning API which was deprecated in 2013.
NO
The only possible way to do this would be to use a web automation framework. Python is great for web automation using tools such as mechanize. I've never done it in Java, but you should do a google search for java programmatic web browser or java web automation.
On top of that you would have to incorporate an OCR package to beat the captcha.
There is a reason that google, nor anyone else, allows the programmatic creation of accounts. Spammers would have a field day. Within days there would be no valid accounts left for any new users to use. In short, it would be a disaster.
As others have pointed out, you cannot create Google consumer accounts (ie, #gmail accounts) via any sort of API. It would create a field day for Spammers. To make it difficult for Spammers, Google uses tactics such as CAPTCHAs to prevent abuse.
But, you can create Google Apps accounts via their Provisioning APIs. A Google Apps account is basically a white labeled version of Google Apps (Gmail, Calendar, Docs, etc) that is under your own domain name.
For the same Spam concerns, your Google Apps account would have to be either a Premier domain (where you pay for every account you provision) or an Educational institution (I assume some sort of verification process for that). So, since you have to pay for each account, it's not a huge risk for spammers (unless they want to pay big $$$ for each account.. very unlikely).
It depends on your definition of create account...
it is possible to create an account inside a google group, or domain. By using the code below you can create accounts for your google group/domain. For this scenario YES you CAN create a google account.
However, if you want to create a google account as in #gmail.com... I really have not found a way to do it programatically.
Here is the link of where to download the google api, and the Documentation.
https://developers.google.com/google-apps/provisioning/#creating_a_user_account
Good Luck.
import sample.appsforyourdomain.AppsForYourDomainClient;
AppsForYourDomainClient client = new AppsForYourDomainClient(email, password, domain);
client.createUser(String username, String givenName, String familyName, String password)
The real answer is YES.
The fact is that we don't know (yet) how.
The proof is that an account can be created from any android device without any captcha, without a phone number and without an email.
So the secret is inside android codebase.
MAYBE?
I am going to write an answer that has not been written so far, but which could actually break the EULA (if that's the case, can someone point out the specific paragraph of it that prevents this?).
The solution is: redirect Google's CAPTCHA to your user.
Assuming your software has a user, you could present them Google's captcha so the account is created by them, for your system, without them knowing.
Would this work for you?
You can do that theoretically, but Google's account creation - like other services - uses image recognition for confirmation that you're a user (aka CAPTCHA) and you need to be able to write image recognition program that can do that.
AFAIK there's no programmatic API from Google to create accounts, since doing so would open them up to spammers/scammers/etc... which the CAPTCA was meant to prevent.
Why would you do that? I am not sure Google allows that in the first place as far as EULA.
I am going to assume that you aren't telling us your use case which is really to have a convenient way to use google logins on your site (because that's the closest you'll get and be legit). I would check out using OpenID in the same way SO does.
Actually, you can create if by google account you mean your own domain (those business ones using google).
You can check it here
YES...
Actually you can do that. You can write CUrl scripts and can use different APIs available to break the captcha.
Breaking a captcha is key thing here.
The fact that Google's account creation UI requires a CAPTCHA is your first hint that the answer is NO.

Categories

Resources