FB credits App Not Responding - amazon-ec2

Just came back to a simple FB credits application that used to work but now just returns "App Not Responding"
Seen a few earlier posts about this (eg http://facebook.stackoverflow.com/questions/7188998/integrating-facebook-credits-results-in-the-application-you-are-using-is-not-re and http://facebook.stackoverflow.com/questions/8166977/credits-callback-script-not-called-error-1383046) but they seem to relate to URL/access errors.
Our server is on EC2 and the callback is accessible via HTTP and HTTPS from anywhere yet it is never hit... the Apache logs show the initial request to the application but not the callback... tried using elastic IP as well as a CNAME mapped to the AWS generated DNS name (no elb involved)
Have created a new test app on FB, installed latest FB sample code, changed the APP_ID and SECRET as required but this behaves exactly the same way
We also get 1151 errors form time to time (http://facebook.stackoverflow.com/questions/7429519/fb-credits-error-1151) but all the apps are in FB iframes so this is also confusing
Is there some validation on the associated company that FB do in here? - could it be that we have been 'blacklisted' as the app was dormant for several months? Could a missing privacy policy cause this?

Related

Review Data - Google My Business/Business Profile Performance API: Permi

I need to use the GMB API to get review data but I get the following error.
Google My Business API has not been used in project 341557982028 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/mybusiness.googleapis.com/overview?project=341557982028 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
When I click on the link I get "failed to load" (see image attached). I enabled all the APIs (8 or 9) but still doesn't work. I completed the form and got the authorization from Google from the app already. Location data is working fine.
I really need help with this one!

App is not authorized to scopes after installing via chrome web store

We are in the process of creating our new app for v2 of the apps marketplace. Recently we have run into quite a major issue and we are having a lot of trouble resolving it.
We are testing the workflow where a domain admin installs via the chrome webstore listing. The actual installation of the app works, insofar as the app is installed on the domain and the scopes appear to be granted when looking at the "Manage API client access" section in the domain admin panel (http://i.stack.imgur.com/a63nv.png).
However, when we attempt to use the service account to get calendar or contacts info, we are getting "Requested client not authorized" errors.
{
"error" : "access_denied",
"error_description" : "Requested client not authorized."
}
However, if we manually add our service account + scopes to the domain in question, then accessing the data programmatically works fine (http://i.stack.imgur.com/g6pRg.png).
So, clearly we are missing something here, with how installing a marketplace app via the chrome web store is supposed to work.
Other things to note:
Chrome webstore listing is marked as unlisted.
New marketplace app is not approved (obviously) as the tester received this specific error when attempting to install the marketplace app.
We got it figured out. The issue was in how we declared our contacts API scope in the marketplace sdk setup screen.
In the marketplace setup screen, we declared using the contacts scope without a trailing slash ("https://www.google.com/m8/feeds").
However in our app, we were sending oauth requests for the calendar feed with the slash at the end. ("https://www.google.com/m8/feeds/"). This mismatch caused the whole request to fail with the error message above.
If anyone runs into this and is baffled at why their service account requests are failing, make sure you are consistent with your slashes at the end!
I would suggest to Google that you should update the marketplace sdk screen to also be consistent and reject scopes that do not have a slash at the end. That would have saved us days of frustration.

Posting an entry from IBM Social Business Toolkit playground to on premises Connections

I am trying to post entry to community activity stream from IBM Social Business toolkit playground (Domino 9, SBT SDK version 20130602) to on premises Connections install. I am using the playground's existing JavaScript snippets but changed the communityID to match to community UUID in my Connections install. I don't have the OAuth2 configured.
I get an error "Error code:403, message:You are not authorized to perform the requested action."
I am able to get data from Connections. For example "Get Updates From A Community" -snippet works. But I am not able to post anything to Connections.
Do I need a working OAuth2 to be able to post entries or is there something else what prevents posting entries to Connections activity streams?
I tried to add a role to my account according to this post Which J2EE Role need to be enabled to post in the Activity Stream of other user but it did not seem to have an effect.
I was able to get the post entry working. The issue seems to be the browser what I used.
Posting entry did not work with Chrome but with Firefox everything worked as expected. So there seems to be some problems with Chrome and posting entries from the playground. Getting data from Connections works also with Chrome.
Are you prompted for basic authentication (either basic auth or OAuth would would work)? Or are you just accessing public communities?
Can you try to go to the authentication snippets, log in if not already (basic auth),and try the snippet again? If you still have a 403, it might be because your user doesn't have enough rights.

Javascript Error on Facebook Login using Chrome - Unsafe JavaScript attempt to access frame with URL. Domains, protocols and ports must match

I have been running the facebook c# sdk successfully for a good year or more, and it stopped working early december. This was due to the API changes at Facebook, and an informative error told me that i needed to use some new parameters in my calls (specifically oAuth: true )
I read up on the changes, and updated the sdk via nuget, which is now running on version 5.4.1.0 of Facebook.JavascriptMvcWebsite and FacebookWebMvc and the other required libraries that make up the facebook c# sdk.
Now, when clicking the facebook login button i get a different error...
Unsafe JavaScript attempt to access frame with URL https://www.facebook.com/login.php?api_key=251066398241630&skip_api_login=1&display=popup&cancel_url=https%3A%2F%2Fs-static.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%26error_reason%3Duser_denied%26error%3Daccess_denied%26error_description%3DThe%2Buser%2Bdenied%2Byour%2Brequest.%23cb%3Df3570617%26origin%3Dhttp%253A%252F%252Fgem.local%252Ffbb4f09e%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df1c822218c&fbconnect=1&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fpermissions.request%3F_path%3Dpermissions.request%26app_id%3D251066398241630%26redirect_uri%3Dhttps%253A%252F%252Fs-static.ak.fbcdn.net%252Fconnect%252Fxd_proxy.php%253Fversion%253D3%2523cb%253Df3570617%2526origin%253Dhttp%25253A%25252F%25252Fgem.local%25252Ffbb4f09e%2526relation%253Dopener%2526transport%253Dpostmessage%2526frame%253Df1c822218c%26sdk%3Djoey%26display%3Dpopup%26response_type%3Dtoken%252Csigned_request%26fbconnect%3D1%26from_login%3D1&rcount=1 from frame with URL http://gem.local/Account/LogOn. Domains, protocols and ports must match.
The console window in Chrome then racks up about 5 of these errors a second, all coming from the facebook login dialog.
I have tried modifying the fbChannel.ashx file to explicity use http:// instead of just // (which respects the current protocol) and also have done the same in FacebookInit.cshtml, but none of this is making any difference.
I also modified my facebook app settings to allow deprecated code...
What am i missing here? I understand why the browser is having a fit over cross domain access, but what is causing this? Have facebook completely switched to https? can i still use facebook logins over http?
I have a test site up where you can see the error in action
Any help appreciated.
Clear the App Domain Field (leave it blank) in Facebook Application --> Basic Info

Garb request to Google Analytics fails from home ISP, but works elsewhere

I'm trying to use the garb gem to access data from the Google analytics API and find that http requests using garb work just fine from a Linode account, but are refused from home (Comcast). Is Google rejecting some kinds of http requests from certain ISPs, or am I just doing something wrong? Simple example is below:
require 'garb'
Garb::Session.login('XXXXXX#gmail.com', 'XXXXXX')
#profile = Garb::Profile.all.first
#report = Garb::Report.new(#profile)
#report.metrics :visits
puts #report.results
This give => [#<OpenStruct visits="21">] on my Linode, but the exact same thing run from my home ISP gives:
Garb::DataRequest::ClientError: "<errorsxmlns=.........
Which is raised here in garb:
def send_request
response = if #session.single_user?
single_user_request
elsif #session.oauth_user?
oauth_user_request
end
raise ClientError, response.body.inspect unless response.kind_of?(Net::HTTPSuccess)
response
end
The initial session login works just fine from both IPs. The error is only thrown when results are requested. Is there anything I can do to fix this? I haven't (yet) verified that I get exactly the same behavior going through clientlogin/data requests by hand. I'm pretty convinced it is not a gem issue, but an IP-related one--perhaps something to do with Google web services quota policies--but I'm willing to entertain all possible solutions.
Thanks,
Orion
You've probably made too many calls to google in a short space of time. I haven't seen it happen with Garb, but I've seen it happen when using an API to scrape search results pages. Google notices and flags your IP. Try browsing to google.com and running a normal google search from the ip that's blocked, you'll probably be required to enter a captcha. They probably block API calls from that IP at this stage, you'll get cleared eventually after a few days I think.
Jeremy's probably right.
Google Analytics API has multiple quotas you need to worry about. See here their list here. I've hit the 10 queries per second per IP address quota and/or the 10 concurrent requests per profile before. I also saw 4 concurrent requests per IP address somewhere.
You should post the full error message Garb gives you next time, since those have actually helped me figure out what caused it in the past.
Also, these quotas are for projects sending registered API keys along with their requests. If you're not, the quotas are much lower. I hit the quota for an unregistered project before. Registering your project is fairly easy, and you just add the following line
Garb::Session.api_key = 'API_KEY'
to your code (I'm using Sija's fork) before the Garb::Session.login line.
Another thing, once you register your project, go to Quotas page on the API console and click the "Set per-user limits" and up that from the default 1.0 to the max 10.0 requests/second/user. If you click "Request more" they give some tips for optimizing your calls/timing as to not hit the limit.

Resources