March breaking changes, getting app access_token from new endpoint - access-token

The breaking change this month is that apps will no longer be returned for /me/accounts and that we should not be using /me/applications/developer to get applications but this endpoint does not return access_tokens for the applications but /me/accounts does. The Graph API reference documentation does not even list /me/applications/developer so I am at a loss for how to actually replace /me/accounts as I need the access_token for applications to get insight data and other information for the application.
Does anyone know how to get an access_token for a developer's app after the breaking change?
All of these endpoints require an application access_token, how does one get one?
https://developers.facebook.com/docs/reference/fql/application

The reason you are still experiencing the "old/current" endpoint at /me/accounts and /me/applications/developer is that you must enable these changes when you are ready. On March 6th, these changes will be automatically enabled if you have not already done so. Go to your app -> edit settings -> advanced and "enable" the March 2013 changes.
As far as the REST API is concerned, you should not be building on it anymore, as it will be deprecated in the future. You should only build on the Graph API now.
If you can't find docs on the endpoint for new features, you can always use the Graph API Explorer for example responses.

Related

YouTube Data API daily quota reduced to 0

For some reason, I started getting 403 errors on my app(in development), the errors message was
Access Not Configured. YouTube Data API has not been used in project XXXXXXXX....
This is weird because I was using the API for the last month or so with the same project, and didn't do any changes.
After looking in the project settings I noticed that the daily quota was reduced to 0.
The only thing concerning the API that I did was to request a quota increase in order to keep developing(The default quota stalled the dev on the search functionality of my app), but I didn't get any answer concerning that request other than asking for info, no warnings, or anything really.
I'm pretty sure that my app complies with the Terms of service, so I don't think that is the reason.
Any help would be appreciated. Thanks!
I would check your email it sounds like your project was disabled. Have you been though the verification process?
YouTube reserves the right to disable or curtail your access to, or use of, specific YouTube API Services if your API Project has been inactive for 90 consecutive days. For example, YouTube could revoke your API Credentials, or reduce (or eliminate) your API Project's quotas for specific YouTube API Services. If your API Client's quota is reduced or eliminated, you may reapply for quota or a quota extension, and YouTube will review that application based on YouTube’s determination of your expected use of the YouTube API Services.
I would check your email. I have several emails about projects i no longer use which have had the quota reduced to 0 over the last few weeks.
How to reset
No matter what the clients you have now are not going to work you need to reset the project.
Delete all client ids you have now.
deactivate then reactivate all APIs you need
Create new client ids keys
If you're trying to use an old project, then it's not gonna work. You'll have to create a new project.
Create a new project.
Enable Youtube API for it. (Your quota will be reset to 10,000/day)
Get new API key for it.
Use the new credentials.

My Google API keeps returning a limit reached error, when I am sure I am under the limit

I am currently building a NodeJS backend app that is querying the Google Calendar API. I have setup a new project on Google Cloud API platform and have generated all the required credentials. As stated by the google calendar API page, the allowed queries per day is 1,000,000. Since I am only querying for testing purposes at the moment, I am sure that I haven't even hit a 100. Yet whenever I try to query the API it returns the error:
"The API returned an error: Error: Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
Also I have noticed that the dev console has generated a API key for me. Where am I supposed to put that?
My initial thinking is that Google API requires me to perform an additional signup using some CLI tools or something along those lines to signup. If not, where am I supposed to sign up?
Thanks in advance.
Note: I already have all the information from the cloud platform such as client_id, client_secret, project_id.
In "Error: Daily Limit for Unauthenticated Use Exceeded", they key word is Unauthenticated. Your request to the Calendar API is missing an OAuth Access Token. You will need to research Google OAuth.
This question has been answered many times. Please learn how to search SO for similar questions whenever you post a new question. https://stackoverflow.com/search?q=google+oauth+%22daily+limit+for+unauthenticated%22
To anyone who comes across this post in the future. I fixed the issue by using the project generated by Google Calendar API site (https://developers.google.com/calendar/quickstart/nodejs) by clicked the big blue "Enable the google calendar api" and then changing the name of the quickstart project that was generated. I don't know why it works now but it does and it's been working quite stably so far. Lets see how to goes.

How to bulk update "Authorized JavaScript Origins" in Google API Console?

Currently, I have been tasked to utilize the Google People API to ask for a user's basic Google information along with their public phone numbers. So far the results have been positive.
The solution my team and I have incorporated the Google People API integration in has the capacity to be utilized across thousands of domains. As a result, my question is simply, How can my team members and I ensure that any our clients that utilize our solution with their own particular domain get our new functionality built with the Google People API?
Keep in mind, our clients have the flexibility to have http/https and any subdomain on their site. Entering each domain possibility for our client base one by one would not be an easy task. I'm seriously hoping there is a solution around the single, explicit origin entries.
Thank you for your time and help.
Warning:
You must remember that if this is source code you are giving your clients that you are not allowed to release your client id and client secret. This includes plugins and scripts.
On November 5th 2014 Google made some changes to the APIs terms of Service.
Asking developers to make reasonable efforts to keep their private
keys private and not embed them in open source projects.
So if your clients could view the code of your application and see your client id and secret you should not be giving it to them.
Read more about this issue Can I really not ship open source with Client ID?
Recommendation:
The best solution for you will be to instruct your users now to create there own project on Google Developer Console and create their own JS origins.
You may just have to provide your own wrapper around the target API where you authorize the client request yourself and then do the request from Google using your own credentials.

Setting Billable Limits

From the Google API Console: When trying to change the Billable Limits for the project under the Quota page, I keep getting the error: Your input was invalid.
The error message is not very informative, doesn't specify which input was invalid or why it was invalid.
I've experimented with this in IE, Firefox, and Chrome. I've also turned off all other APIs except for Custom Search API (which I'd like to increase the limit for) without any luck.
Has anyone else encountered this problem? how can it be solved?
(response from a Google employee)
This can happen if a "restricted" API is enabled on the project. "Restricted" APIs can only be seen by specifically enabled users. For instance, the Google Maps Javascript API v2 has been marked "restricted" because it was retired in 2013, and no user should see this API anymore (and instead, use v3).
Work is underway to remove the Google Maps Javascript API v2 from all the existing projects. A systemic fix is being worked on (internal Google reference #12001333), but in the meantime, if you see this error, the best workaround is to use a different API project.

offline_access will be deprecated, does it influence session_key,secret of rest api?

offline_access will be deprecated, does it influence session_key, secret of REST API? If I store REST auth infomation, may it use?
This is not have effect on anything related to API querying nor authentication flow aside fact that you will not get permanent access_token and will need to get active access_token from user and extend it manually (if you need).
BTW, REST API is also not something you should actively use, since it'll be deprecated
We are in the process of deprecating the REST API. If you are building a new Facebook app, please use the Graph API. While there is still functionality that we have not ported over yet, the Graph API is the center of Facebook Platform moving forward and where all new features will be found.

Resources