Facebook Messenger Webhook weird subscription error - facebook-messenger

I'm trying to re-subscribe an app to facebook (through graph-api post/me/subscribed-apps). The subscription worked the first time and received {success: true}, however now I'm receiving the following error:
{"error":
{"message":"(#2) Messaging Subscription Failed for app: <appID>.
Another Subscription Update is in Progress 2",
"type":"OAuthException",
"is_transient":true,
"code":2,
}}
I tried replacing the token but I'm still getting this.
Has anyone encountered this before? Tried looking for reference but with no luck.
Thanks in advance!

Related

"Create blob" action in Azure Logic Apps fails but actually succeeds

we have a logic app that takes HTTP requests and creates BLOBs from it.
The last step is the "Create Blob".
We had an incident, where the Create blob timed out
{
"error": {
"code": "BadRequest",
"message": "Http request failed: the server did not respond within the timeout limit. Please see logic app limits at https://aka.ms/logic-apps-limits-and-config#http-limits."
}
}
however it seems the blob was created and then overwritten. This is based on the fact that we have a webhook on this location and it got triggered twice.
I assumed for a short time it was a 0kb blob in the first attempt and then full content, but the webhook processed the content twice correctly.
Afraid to say, there is not that much documentation on the working and issues of Create Blob i can find so hopping anyone encountered similar issue.
Thank you

Microsoft Graph: Getting 400 Bad Request when trying to fetch mailboxSettings

I have followed this tutorial and have implemented Microsoft login via OAuth and Azure. Also, I have fetched data from Microsoft Graph to store in my database.
Here is a code sample to fetch data using Microsoft Graph:
$graph = new Graph();
$graph->setAccessToken($accessToken->getToken());
$user = $graph->createRequest('GET', '/me?$select=id,displayName,givenName,surName,mail,mobilePhone,jobTitle,userPrincipalName')
->setReturnType(Model\User::class)
->execute();
The code works fine and I get my desired data.
However, when I change the url from '/me?$select=id,displayName,givenName,surName,mail,mobilePhone,jobTitle,userPrincipalName' to '/me?$select=id,displayName,givenName,surName,mail,mobilePhone,jobTitle,userPrincipalName,mailboxSettings', I am getting this error:-
Error Code:- 400| Error Message:- Client error: `GET https://graph.microsoft.com/v1.0/me?$select=id,displayName,givenName,surName,mail,mobilePhone,jobTitle,userPrincipalName,mailboxSettings` resulted in a `400 Bad Request` response: { "error": { "code": "AuthenticationError", "message": "Error authenticating with resource", "innerErr (truncated...) | Error Location:- Line No. 113 in file C:\xampp7.2\htdocs\kaec\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php
As you can see, I am getting the 400 Bad Request error only when I am adding 'mailboxSetttings' in the query string of the url.
Why am I getting this error? The tutorial itself has used 'mailboxSetttings' in their sample code?
PS: Two days ago, it worked absolutely fine when I used 'mailboxSetttings' in the query. But today, I am getting 400 - Bad Request.
Check if you have MailboxSettings.Read and MailboxSettings.ReadWrite permissions to be able to read, update, create, and delete your mailbox settings.
I agree with #user2250152 answer, at first I used an access token which doesn't with the scope of MailboxSettings.ReadWrite, and I called the api
'https://graph.microsoft.com/v1.0/me?$select=id,displayName,givenName,surName,mail,mobilePhone,jobTitle,userPrincipalName,mailboxSettings'
it returns 403 error(not the same as yours 400), I checked the api document and found that the 'mailboxSettings' property really exists but even I used beta version of the api I still can't find it in response. So I tried to add api permission when generate the access token, finally it worked for me.
I think you can debug your program to check if the access token you used to call the api has the scope of 'MailboxSettings.ReadWrite', just decode the token and you can see it in the claim "scp", because you said that your programs run absolutely fine before. So maybe you've added more other scopes(not belong to graph) when generate access token.

instagram oauth issue (make sure your redirect_uri is identical to the one you used in the OAuth dialog request)

Im trying to get basic data from instagram profiles, I am using a local webpack dev server to run my react app, I am also using Firebase functions, the function on firebase sends oauth/authorize request to instagarm's api, im getting a code response back and return it to my react popup, i then send the code to instagrams api for oatuh/access_token but im getting the following error:
Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request
Im running localhost:3000 as https with an ssl, i've set the redirecturl in the instagram developer tools to https://localhost:3000/instagram-popup/
the popup is the page I'm, loading to get the access token, it does get the code from the firebase function correctly, but fails the last call... I have lost SO many hours on this issue, if anyone has been in this situation and solved it, or didnt even encounter it but knows what i can do to fix it, i would really appreciate any guidance here

npm sync-request: NetworkError: Failed to execute 'send' on 'XMLHttpRequest'

I'm studying about ReactJS and during my research I got stuck in middle of this untraceable issue. The idea is to present information on browser screen fetched from Database. I've chosen WebAPI to serve as a channel for communicating with database. The API implementation is working as expected, I tested it using Postman.
But I'm encountering the subjected error when I try to access API through Reducer (React-Redux implementation), please refer below screenshot.
It seems to me a CORS (Cross-Origin Resource Sharing) issue, as both API & ReactJS app running on localhost using different ports, but I'm not sure. In either case, please help me get to the solution.

App Engine Admin API Error - The "appengine.applications.create" permission is required

We would like to automatically create a project ID and install our ULAPPH Cloud Desktop application using the App Engine Admin API (REST) and Golang.
https://cloud.google.com/appengine/docs/admin-api/?hl=en_US&_ga=1.265860687.1935695756.1490699302
https://ulapph-public-1.appspot.com/articles?TYPE=ARTICLE&DOC_ID=3&SID=TDSARTL-3
We were able to get a token but when we tried to create a project ID, we get the error below.
[Response OK] Successful connection to Appengine Admin API.
[Token] { "access_token" : "TOKEN_HERE", "expires_in" : 3599, "token_type" : "Bearer" }
[Response Code] 403
[Response Body] { "error": { "code": 403, "message": "Operation not allowed", "status": "PERMISSION_DENIED", "details": [ { "#type": "type.googleapis.com/google.rpc.ResourceInfo", "resourceType": "gae.api", "description": "The \"appengine.applications.create\" permission is required." } ] } }
We are just using the REST API calls. Request for token was successful as you can see above and the scope is ok as well. Now, when we posted the request to create application, we are having the error that says "appengine.application.create" permission required.
How do we specify the permission?
What are the possible reasons why we are getting that error? Do we missed to send a field in JSON or in query?
As per below link, we just need to pass the json containing the id and location. We also just need to pass the token in the Authorization header. The same logic I have used successfully in accessing Youtube, Drive APIs etc so not sure what needs to be done since I have followed the docs available.
I have also posted the same issue in Google Groups and now waiting for their reply.
It seems you've given no details about how you set up the account you're using to authorize the request. You'll need to make sure the appengine.applications.create permission is given to the account you're using, as mentioned in the error text. You can use the Google Identity and Access Management (IAM) API for this.
(by the way, I'd given this answer in the original thread, although you didn't reply or seem to take action on it. check it out! this is likely the solution you need!)

Resources