Can we use Alexa skill from custom iOS app? - ios

Can I use Alexa skill from my iOS application (just like we do it from the Echo dot etc)?
I checked a few old links which are working as follows, and I think it can be done using AVS:
record the message
upload it and get Alexa's response
Play it using some player
For that, it needs token (which can be obtained if a user logs in).
I checked a few SO links (link1, link2) as well but didn't get the answer.
Is there any SDK or API to do it? I didn't get enough info from AWS documentation.
Is it even possible? How to use AVS in my iOS app?

I believe you need to explore AWS LEX. It is the same service that powers Alexa. It allows you to create conversational bots, that can consume voice or text input and can give back voice or text output. You can integrate lex in any application whether it is mobile, web or voice application.
Here is a useful link that you can follow to understand how you can utilize LEX for your iOS app.
Deploying an Amazon Lex Bot in Mobile Applications

Related

Google Voice via OAuth2.0

My goal is to retrieve Google Voice voicemail audio messages and download them.
On May 27, 2015 - Google permanently disabled the ClientLogin API for Google Voice and encouraged migration to OAuth2.0.
I created a project in the Google Developers Console, but I was unable to identify the API that should be used. I am not alone (Google voice PHP OAuth 2.0).
It seems unlikely to me that Google would permanently disable the Google Voice ClientLogin API without having a working solution available -
especially since they deprecated the GV ClientLogin API more than 2 years ago and left it available for use for so long afterwards.
After further research, I discovered that the GMail API permits downloading of attachments.
Theoretically, if I set Google Voice to forward all Voicemails to GMail, I could download the audio file using the GMail API
(gmail.users.messages.attachments.get).
NOTE: I am not certain that this will work! I worry it may not because when you click on Play Message in Gmail, it forwards to the Google Voice
page - where you can choose to download the message. It seems this approach may result in needing a Google Voice API as well.
How are we supposed to retrieve Google Voice voicemail audio messages and download them using OAuth2.0?
I own a Google Voice app for Windows 8 (GVoice) which very recently broke due to the removal of ClientLogin. From my research it looks like there is now no longer a programmatic way to authenticate to Google Voice. ClientLogin is gone, and Google Voice is not a select-able API in Google's (OAuth) Developer Console.
I'm going to interpret this question as "how do I programmatically access Google Voice now that the ClientLogin service is no longer available?"
My app uses the unofficial google-voice-java API, and that API also broke in June 2015 when the ClientLogin service stopped working.
I was able to get it working again by having it log in using a different method, but not with OAuth 2.0. See the comment thread for issue 60 (see comments 6 and 9 in particular) for an outline of the solution.

Is there a way to get write access to twitter api without mobile authentication?

I am currently working out of india and am trying to get to make my app post on behalf of my Twitter user account. However, for me to be able to do this, I need to create write access to my app on twitter, which I tried to. Unfortunately, twitter gives me the following error:
Error
You must add your mobile phone to your Twitter profile before granting your application write capabilities. Please read https://support.twitter.com/articles/110250-adding-your-mobile-number-to-your-account-via-web for more information
Now, I tried to add my mobile phone number following these instructions. Twitter, does not support any of the Indian mobile carriers in order to authenticate the same.
Is there a work around? Is there any way I can make write access work from here?
There are two ways to do this.
The official way to do this is to contact the Twitter API team directly using this form https://support.twitter.com/forms/platform
The unofficial way is
Authenticate against mobile.twitter.com (use your phone or computer).
Go to Settings
Go to Phone
Add
Add your mobile
A "manage" link should be available
All being well, you'll get a confirmation SMS
I've not tried this method - but I have seen other people say it works.

What is the most efficient way to create end-points for an Amazon SNS service?

I am using Amazon SNS Service for an iOS application that needs push notifications.
I have figured most of the things, except for the part where I have to register my device tokens.
This is where Amazon talks about it. It can be done manually or with the help of createPlatformEndpoint API which they obviously recommend for bulk uploads. My question is how we can directly register tokens from devices that will install the app later on. The documentation talks about a proxy server which I would want to avoid as of now. Isn't there a direct way of doing this, like where I can directly call a method and push the device token received in the application to my SNS Platform?
This, is a possible duplicate except that it is in reference to Android.
The AWS Mobile SDKs support accessing SNS directly from the mobile device. If you're interested in seeing code demonstrating this on iOS, we included some as a sample we prepared for re:Invent 2013 called Mobile Photo Share.
The important thing to note when accessing SNS directly from the mobile device is that you'll want to restrict the credentials delivered to the device to only those services and resources you'll need to access. You can accomplish this via web identity federation or a token vending machine with appropriately restricted policy.
If you want to learn more about the Mobile Photo Share app, we had two talks at re:Invent about the app and its architecture. The video and slides for those talks are available here:
Building Cloud-Backed Mobile Apps
Integrating Social Login Into Mobile Apps

Google Drive API for iOS: OAuth2.0 with an application-owned account

I'm creating a simple iPhone app. The basic premise is that the app will display some data (That I provide online) on the application. The data changes over time, so the app has to draw the data from online and display it. I don't have a significant programming background so I don't want to use my own server.
Thus, I thought it would be significantly easier to just put the data into some documents on a Google account and then access them programmatically via the Google Drive API. I could then update the data in my Drive account and it would get updated in the application. The key here is that I am ONLY accessing ONE account that I own MYSELF. The users' accounts are not being accessed. Therefore the goal is to never have to log in manually. It should all happen behind the scenes, aka, it should look like a server, not a google doc.
With this in mind, it doesn't make sense to show the Google Accounts sign-in page to my users as the standard OAuth2.0 tutorial shows here:https://developers.google.com/drive/quickstart-ios#step_1_enable_the_drive_api
I should be able to access my own data by somehow hardcoding in my username, password etc. Google agrees here: https://developers.google.com/drive/service-accounts#use_regular_google_accounts_as_application-owned_accounts
The above link mentions a "refresh token" that I'm supposed to save. However, I have no idea how to build and save that token, or even for that matter, where to find it.
I've gone through both the basic tutorial and the Dr. Edit Tutorial for iOS, but they both assume that the application is accessing USER accounts not application-owned accounts.
I'm not asking for someone to write the code for me (though tidbits are nice), but if you can point me to a step-by-step guide or related sample code that would help me get started that would be awesome. I'll even come back and post the code that I use!
EDIT: Since I realized that the Google Drive API wasn't something I could use for what I am trying to do, I eventually found Parse which is an awesome tool that handles all the server backend for me and is free at the basic level.
Google APIs objective-C client library doesn't support service (application-owned) accounts, because they are supposed to be used by a server-side apps, instead of clients -- you shouldn't be distributing your private key as a part of an app.
If you would like to distribute content from a service account, maybe you should write a server leg to do the authentication and pass clients credentials in a secure way for them to talk to the API on the behalf of the service account. Or, use Web publishing to make documents universally accessible without authorization and authentication if privacy is not a concern.

Paypal Integration in Blackberry?

Do we hav Paypal API for Blackberry as like the iPhone and Android. I have android PayPal API here https://www.x.com/community/ppx/xspaces/mobile/mep.
But i cant able to find it for Blackberry.
Please help me whether paypal transfer can be made in Blackberry or not.
Try by using this sdk https://www.x.com/community/ppx/sdks#WSDL
As far as I know there isn't a BlackBerry specific Paypal API.
So to get around this, we just launched the browser to the Paypal link. From there they could enter their Paypal credentials and pay as if they were using a desktop browser. It's not as clean as using an API though.
If you're looking for a cleaner solution, you could try creating a Paypal API wrapper for example using PHP, which is used by a proxy page. Then in the BlackBerry, use standard HTTP requests to send GET/POST requests to the proxy page. The proxy page will in turn use the wrapper you created to set up payment for you and your customer. This way you won't necessarily have to leave the application.

Resources