Connecting Cloud firestore database from cross platform xamarin project - google-cloud-firestore

I am using Xamarin cross-platform solution containing 4 projects.
Android project
iOS project
UWP Project and
Standard library.
I want CRUD operations on Cloud fire-store database.
UWP project working as expected.
But In case of Android project gives error on line in Library project
Firestore = FirestoreDb.Create("...-4c982");
stating error
System.InvalidOperationException Message=Error reading credential file from location appointments.json: Could not find file "/....json" Please check the value of the Environment Variable GOOGLE_APPLICATION_CREDENTIALS
A small cross platform project reading/writing to/From cloud firestore will be helpful to me.

As mentioned in the documentation, you need to set the GOOGLE_APPLICATION_CREDENTIALS environment variable in your development environment to point to a JSON service account key file.
You can create that JSON file by going to the API Console Credentials page and following these steps:
1- Select the Service Account that you are using on the Service Accounts Table to check it's details.
2- In the details page click on the Add Key Button and select the Create New Key option.
3- Select the JSON Format and confirm, the download of the JSON file will start automatically.
Once you point your GOOGLE_APPLICATION_CREDENTIALS environment variable to the directory of the JSON file the error will no longer appear.

Related

Get UWP Store associations using PowerShell or MSBuild

I'm using AppVeyor CI to build my UWP app and want to create an APPX package during every build. However my .gitignore is ignoring the Package.StoreAssociation.xml and MyAppName_StoreKey.pfx which I want to include in the APPX package as they are identifying my app in Windows Store.
Is there any way to get these files using PowerShell or MSBuild or something like that? In other words, is there any command line equivalent to the Project > Store > Associate App with the Store... wizard?
I know I can upload these files to the repo as Secure files but I'd prefer getting the latest files from the Dev Center with every build.
I would say probably not, as the Associate App with the Store Wizard, is an authenticated Wizard which requires a users Microsoft Account to be registered with Visual Studio, Load Credentials from storage or asking for OAuth, and then Visual Studio goes to Microsoft's server to Sign the Certificate and Sign the app with it.
AppVeyor documentation says the currently UWP is not officially supported for UWP, as a Microsoft License is required.
Edit: Does this help?
Is there any way to get these files using PowerShell or MSBuild or something like that? In other words, is there any command line equivalent to the Project > Store > Associate App with the Store... wizard?
No, as #William's explanation. The associating operation needs user's interaction in Visual Studio, this doesn't depend on a public command/API.
In my experience, we need to store(maintain) the latest store association information in somewhere, overwrite the related files and replace the reserved keywords in the app's manifest template file before packaging.

IBM Bluemix - Kitura Swift - is missing a required environment variable: 'OPENAPI_SPEC'

I am stuck for the moment. I cannot obtain the source code for the mobile project and I do not know where is the problem. All my researches was without positive result.
My intention with IBM Bluemix is to develop myself a small project only in Swift (server side + iOS) because I am iOS mobile developer.
When I try to get the code for mobile project (iOS) I get these error:
Error Notification:
The Cloud Foundry App 'XXX' is missing a required environment variable: 'OPENAPI_SPEC'.
I want to use OpenWhisk SDK for iOS. I do not know where to set the variable OPENAPI_SPEC and what value to put in it.
I have setup a Cloud Foundry App started from "Runtime for Swift - Kitura" and a mobile project named started from "Code Starter - OpenWhisk".
Can you help me with some advice or some sample?
Thank you!
If you added a Swift server side Compute to your mobile project, you will need to add an environment variable called OPENAPI_SPEC to your backend to point to a valid Open API swagger document outlining the API.
This way when you download the project, it will auto-generate an SDK corresponding with your backend's Open API.
For instance, here is how you set the environment variable:
And here is a valid API doc that it's using (albeit not in the most elegant Open API compliant format yet but it works).
https://updatesdk.mybluemix.net/explorer/swagger.json
The idea is that the "project" concept takes an abstracted view of a Compute runtime (Cloud Foundry, Docker, etc.) and only cares that it exposes an API compliant with the Open API specification. Using that defined Open API spec, you can dynamically generate an SDK for a "project" when it's downloaded (for iOS, Android, etc.).
If your backend Compute exposes no Open API specification at this time, and you just want to download the code of OpenWhisk for iOS, you can just deassociate that backend Compute from your mobile project for now, and it should download the code. If you ever build on top of that backend and want to reconnect it in the future, you can add it and redownload at a later time (doing a git diff or using the Bluemix CLI SDK plugin to download an SDK from your Open API specification later in your project's lifecycle).

Firebase Storage Can't Connect, Retry again

I imported an old project into Firebase when I joined.
On the https://console.firebase.google.com/project/project-name/overview page, when I try to grab the code snippet to initialize my Firebase, the storage bucket shows up with empty URL.
Today, I started a new project, this time, using the Firebase console. After creating the project, the StorageBucket URL showed up in the initialization code snippet automatically.
When I check both project's storage rules, I see the URL pointing to the right places, however, the imported project gives this error under the Storage > Files tab:
It has been like this since day one I imported the project.
When I went to https://console.cloud.google.com/storage/browser to see if the new project I created would show, it did.
Are there any extra steps on my part to get the storage bucket URL to show for the imported project?
Who's this answer for?
If you imported your project into Firebase and having the above issue specifically with your Firebase Storage.
After back and forth with Firebase Support, if you're facing similar problems as mine, here's the approach you can try. I'm trying to replay the conversation and steps given by the Firebase Support
Make sure that you are the owner of the project you are accessing.
If you have multiple Google accounts signed in, Firebase Database can't
seem to connect to the server. Sign into incognito mode
Check in your API Manager if the following are enabled
a) App Engine admin API
b) Firebase Rules API
c) Google Cloud Storage
Check if you have an App Engine app is enabled https://console.developers.google.com/project/_/appengine
Go to Firebase Storage AppManager tab
https://console.cloud.google.com/storage/
a) Add the service account firebase-storage#system.gserviceaccount.com as an owner on the storage bucket: .appspot.com.
b) Additionally, you need to edit the "object default permissions" to allow for similar access.
Now, if you have all the above in place, next step is this:
Add new Server Credentials
In credentials page, ( https://console.developers.google.com/apis/credentials ),
click Create credentials, select API key
Select server key
Put name as "Server key (auto created by Google Service)"
At the time of writing this, creating the Server Key was what got it to work.
A few words:
The issue of not able to use Firebase properly when two accounts are logged in the same browser doesn't plague me anymore. Logged into two accounts, and both Firebase projects are up and running without any issue.
I fixed mine by using the command to work on it using
firebase init storage
This would create the storage after that it would add a storage.rule in which you can update to your liking in your project .
Then you run this command
firebase deploy --only storage
This would initialize the Storage
If you are still having issues check out this link https://stackoverflow.com/a/74750337 which was also provided by firebase for me to fix the error
This is how i fixed mine

Adding Existing SAPUI5 Applications in HANA Cloud Portal site

I am new to HANA Cloud portal. I have created a standalone SAPUI5 Application following the below steps:
SAP HANA Cloud Platform
I have not set any destinations since I am using dummy data for now. The app works fine standalone but when I add it to a site in the HANA cloud portal the application fails with the error "could not open App.Try again Later". I have followed the below steps. Please let me know if I have missed put anything:-
1) Created a site from the site directory screen with a blank site temppplate.
2) Next I selected the app I want to add into the site from the account apps section in the left navigation inside the flpportal service and added it[using the forward icon].
3) Then when I try to add it as a menu configuration it shows up in the list and gets added but when I publish the site I get the above error mentioned.
Am I missing any step or doing it wrong altogether? BTW I am using a HANA trial account for now.
Also, I would like to know whether this is the correct way to do it. Also, any documentation on the same will be helpful
Adding the error description. The name of the app is Kpidemo:

Application Can Not Be Deployed on Cloudhub

currently I am working with mule esb in cloud, to achieve this I am using free trial version of Cloudhub. FYI, I am new to cloudhub and right now tring to deploy my mule application there. Unfortunately, everytime I tried to deploy my application, it can not be deployed.
I have tried 2 ways to deploy the apps.
The first one is from the Mule Studio, by following this documentation:
Deploy Apps to Cloudhub From Mule Studio
When I tried that way, I got following error:
I guess it was because of the proxy.
The second way I tried is by deploying it directly from the cloudhub.io, by following this documentation:
Deploying Apps Directly From Cloudhub.io
But, when I check on the deployment section, I found out, that my application is not uploaded. Then I tried to upload it again, update it, and run the application, but it seems that the application still not uploaded and the change I made is not applied.
Here is the error I got:
FYI, before I upload the application to cloudhub, I compressed the application folder into zip file.
How can I solved this problem? Do you think I did something wrong when deploying it? Thanks in advance.
I too faced similar problem, when deploying application in cloud hub, using Mule 3.5. My application inserts Contacts info (FirstName, LastName, Title, Email etc) from CSV file in Salesforce "Contacts" object. With proxy details configured, my application was running fine in local machine but when deployed in cloud hub, I was getting "Unknown host Exception. Root exception in proxy (something similar to this) " exception.
What I did:
I have removed proxy details from Salesforce connector and re-compiled and deployed in cloud hub. When I tested, the contacts from csv file are getting inserted in Salesforce "Contacts" objects.
Note: When Proxy details are removed, it works in cloud hub but fails in local. It seems cloud hub takes care of proxy connection and we don't need to explicitly mention it.
Regards
Ravi Nori
Be sure that you configure your http endpoint like this:
<http:inbound-endpoint host="localhost" port="${http.port}".... />
CloudHub will automatically expand http.port property to the correct value.
To make it work deploying from CloudHub you shouldn't compress your project yourself and upload but make Studio create a deployable archive: Right click on your project and then click export, select 'Anypoint Studio Project to Mule Deployable Archive' under Mule category. That will have Mule ESB application structure and should work in CloudHub.
Check your http global endpoint is like that
or you can give in properties file like http.host=0.0.0.0 http.port=8081
these values you can give directly in cloudhub properties.
From flow you can access like ${http.host} , ${http.port}
First check that domain name is available