MailUp - Contract not signed, please login in console and accept terms of service - mailup

What are the steps that we do need to follow to resolve error-code
"Contract not signed, please login in console and accept terms of service."
To Get the access token and the refresh token i am using following command
curl -X POST -d "grant_type=password&client_id=MYCLIENTID&client_secret=MYCLIENTSECRET&username=MYUSERNAME&password=MYPASSWORD" /
https://services.mailup.com/Authorization/OAuth/Token
As mentioned in link:
http://help.mailup.com/display/mailupapi/Authenticating+with+OAuth+v2

MailUp has a bug for which, after logging in, in the developer accounts, the popup for accepting the "terms of service" is not displayed. I contacted the support team and they should have solved the problem. This is the case at least for my account.
The command you have copy/pasted from documentation site do not work due to this bug.
So now you just have to log in to the control panel and accept the "terms of service", wait about an hour for their internal cache to be updated, and try to access the API again.

Related

sls alexa auth returns 400 Bad Request

I have recently started working on alexa serverless. I have followed the steps as mentioned in a serverless blog https://serverless.com/blog/how-to-manage-your-alexa-skills-with-serverless/
I have installed the serverless and created security profile and updated the Web settings with allowed return url i.e, https 127.0.0.1:9090
After this I ran the command sls alexa auth. From here I am getting error like this
I am unable to find whats happening behind the screens. whats with code. Required environment variables are set.Can somebody help me
Go to Amazon Developer Portal. Choose Login With Amazon > Security Profiles > Edit > Web Settings.
Make sure you have the Allowed URL field filled in with your IP.
I had a similar issue. I updated my Allowed Origin and Allowed Return URLS to the following and it worked. Here is a screenshot.
Link:
https://developer.amazon.com/settings/console/securityprofile/web-settings/update.html

App Engine logs showing HTTP 301 for nonexistent URLs

I am running a website on Google App Engine. From time to time I get out-of-control bots or perhaps brute force hacking attempts that I see in my logs. Recently I've had a bot (I presume) trying to access administrator/index.php several times a second. That file doesn't exist on my site. If I try to access it, I get the standard 404 and this in my logs:
But for the bot I am seeing HTTP 301 in the logs and I'm wondering why. Does Google interpret the requests as a denial of service or other attack and automatically intervene? I haven't seen documentation stating as much, but I'm not sure why else I would be seeing the 301 instead of 404 for the same URL:
Does anyone have an explanation for this?
The log entires shown on the screenshots can be clicked & expanded to view additional information. As mentioned in the comment above two things could be checked there for further analysis of what's going on:
check the hostname of where the request came to & see if it's not the expected behaviour for that hostname.
if the json object is shown, navigate to protoPayload -> line -> [0] -> logMessage where something like redirecting "http://example.com/" to "https://www.example.com/" should be shown which could also clear things up a bit.

GoogleAppEngine sign-in failed

I am afraid I don't have much information on this problem, other than that I cannot deploy/update an application with GAE anymore.
Every time when asked for email and password, I correctly enter them (as I always have done), and I get a Sign-in Failed message.
I tried it two ways, 1) with GoogleAppEngineLauncher application. I first get a panel saying: "Error, failed; auth error", and after I close this panel there is message in red in the sign-in panel, saying: Sign-in Failed. This is a hyperlink, which, when I click it, brings me to a browser page where I am asked to re-enter my password for my google-account. I enter the same password, and I get logged in normally.
If I click on the Dashbord button it brings me to the correct app-engine page of my application.
The second way is command-line:
appcfg.py update /my_app_name
which results in:
10:48 AM Application: my_app_name; version: 1
10:48 AM Host: appengine.google.com
10:48 AM
Starting update of app: my_app_name, version: 1
10:48 AM Getting current resource limits.
Email: my_email#gmail.com
Password for my_email#gmail.com:
Invalid username or password.
However, I am 100% sure I am using the correct login details.
Well, I hope someone can make sense of this! thanks!
edit: this is the error panel I get when I try to deploy with the launcher app
You can visit https://www.google.com/settings/security and then enable "Access for less secure apps" . It works for me.
You could try uploading with OAuth2:
appcfg.py --oauth2 update /my_app_name
See for more info:
https://cloud.google.com/appengine/docs/python/tools/uploadinganapp#Python_Password-less_login_with_OAuth2
I had a similar issue, but I'm using maven to deploy, not appcfg. I know that I had to go in my "C/users/ME/" and delete a file called ".appcfg_oauth2_tokens_java", and it worked afterwards.
Having researched the issue, it seems to appear when you have multiple accounts logged in at some point. The system keeps a copy of one of your other accounts and tries to deploy using this. Deleting the appcfg_oauth token forced me to "re validate" my credentials

QuickBooks Online API Diagnostics.php ERROR

I am testing QuickBooks Online API by using the source code from the following URL:
https://github.com/consolibyte/quickbooks-php
When I test the diagnostics.php http://mydomain.info/qb/docs/example_app_ipp_v3/diagnostics.php
I got the following error:
Warning: array_merge(): Argument #2 is not an array in /home/mydomain.info/public_html/qb/docs/example_app_ipp_v3/diagnostics.php on line 15
The connection is fine.
Please advise
If $creds is empty, it means that you have not yet established a valid OAuth connection to Intuit's servers.
You need to do that before anything is going to work. If you're just trying to get rid of the error, just cast $creds to an array.
To establish a connection, click the "Connect to QuickBooks" button that's shown on the /index.php script when you visit it in a browser. You'll be walked through the OAuth setup process (make sure you've changed the URLs, app token, and OAuth credentials in config.php first, and configured your URLs in your IPP app as well on Intuit's site).
Regarding your other questions:
$the_username and $the_tenant can be left at their defaults for testing.
In production, you will likely NEVER use $the_username (it's used only in very specific special circumstances). $the_tenant should be set to your unique tenant identifier within your SaaS app (or, if you're not a SaaS app, just leave it at it's default).

Making a WP7 HttWebRequest POST with an untrusted cert?

I'm working on a Windows Phone 7 application that makes a REST service call. The third party that hosts the web services has an invalid certificate in the current environment. When I hit the URL in Firefox, I get a warning about the cert and I am asked if I want to continue. I'm also using the Poster FF extension to test the call. It works with Poster if I first accept the invalid cert in Firefox. If I don't, then POSTER wont make the request.
In my WP7 Emulator, I can't make the request at all. I get a 404 at the EndGetResponse method. I making the same request as in Poster, so I know there is nothing wrong with the request. I have successfully hit another web service using the same code (no certs involved), so I don't think it's the code. The only thing I can think of is that WP7 doesn't allow requests to an invalid cert. Has anyone had experience with this situation? Is there any way around it?
Is there a way I can tell my app to accept all communication, even if there is an invalid cert?
There is sadly no way to do this on the phone. Ordinarily, i.e. on the desktop this simple line of code will disable certificate checking.
System.Net.ServicePointManager.ServerCertificateValidationCallback = (se, cert, chain, sslError) => { return true; };
If you look at the ServicePointManager on the phone, there's no callback to hook into. It's a massive pain in the arrrrse.
Have you considered writing to the service owner and asking why they're being bad internet citizens? (essentially, what you're seeing here is web security in action, for better or worse)
As Matt says, you might be able to code a simple relay on a web server. It doesn't have to be a special service, but maybe just a web page that does the call for you and spits out RAW text or XML. Your phone client just GETs this page and picks through the response manually.
Where there's a will there's a way.
Luke
You need to install the root CA cert of the issuing party on the phone.
You can do this by emailing the RootCA to the user of the phone. They click on the attachement and it will prompt them to ask if they want to install the certificate on the phone.
Once you have done that your requests should go through.
I dont believe there is a way to do this programatically in your app however.
I'm not aware of a way to install additional certificates on the phone.
In this situation I'd create a proxy service between your app and the 3rd party site and have your app call that. If you need to, you could put the proxy behind a valid cert.

Resources