Data fails to get synced on message's extended item properties using O365 REST API - office-addins

Problem
We have an Outlook add-in that uses Outlook Office365 REST API to update mail item properties. One example is writing some custom metadata to the SingleValueExtendedProperties field of a mail-item.
Since yesterday we started noticing that the values that we write on the extended properties are not getting synced to the exchange server.
Steps to reproduce
PATCH on the Messages resource to update item properties with some data
Method: PATCH
URL: https://outlook.office.com/api/v2.0/me/messages('<messageId>')
Request Body:
{
"SingleValueExtendedProperties": [
{
"PropertyId": "{propertyId}",
"Value": “{\”color\":\"green\"}"
}
]
}
Use GET API to get the latest values.
Method: GET
URL: https://outlook.office.com/api/v2.0/me/messages('<messageId>')?$expand=SingleValueExtendedProperties($filter=PropertyId eq ‘{propertyId}’)
Observation
The PATCH call ran through successfully, but the GET call didn't return the latest values. The update that we tried yesterday also has not yet synced.
Environment
Client: Microsoft Outlook for Mac
Build Version: 16.42 (20101102)
Note
We have already started using the Microsoft Graph API in the new software that we are building since that’s the recommended one for interacting with mail/events. We still rely on Office365 API in our current systems to fetch/update data.
Is there a known issue that could be causing this? Is anyone else experiencing this?

Related

How to patch env_variable using REST API in App Engine Standard?

Lately I've been deploying apps on App Engine Standard and sometimes I accidentally deploy a version with a typo in my env_variables specified on app.yaml. Let's say that I don't want to deploy a new version because it takes time and this typo should be easily fixed with a "quick patch".
I followed the GAE Admin REST API doc and played around with the API Explorer. It turns out that the request body accepts envVariables so I was thinking that this API can solve my problem but for some reason it fails.
Error:
{
"error": {
"code": 400,
"message": "This operation is only supported on the following field(s): [automatic_scaling.cool_down_period_sec, automatic_scaling.cpu_utilization.target_utilization, automatic_scaling.max_idle_instances, automatic_scaling.max_total_instances, automatic_scaling.min_idle_instances, automatic_scaling.min_total_instances, automatic_scaling.standard_scheduler_settings.max_instances, automatic_scaling.standard_scheduler_settings.min_instances, automatic_scaling.standard_scheduler_settings.target_cpu_utilization, automatic_scaling.standard_scheduler_settings.target_throughput_utilization, instance_class, manual_scaling.instances, serving_status]",
"status": "INVALID_ARGUMENT"
}
}
Request Parameters:
appsId: PROJECT_ID
servicesId: SERVICE_NAME
versionsId: 2021xxxxx
updateMask: envVariables
Request Body:
{
"envVariables": {
"my_key":"my_value"
}
}
Overall question: Is it not possible to patch env_variables on App Engine Standard using REST API or I'm just missing something? Are there any alternatives to avoid redeployment?
Nope, there is no other alternative for this particular use case.
The reason you cannot modify the envVariables using GAE Rest API is that those variables are used when your app is being built in App Engine, so modifying them will imply re-build all the app which implies at the same time you need to redeploy the app.
You can modify the scaling settings since those not depend on the application or how it is built.
Now, that you're able to see envVariables as an option in the API explorer does not mean it is intended to be used with apps.services.versions.patch, in fact that option is shown as well with others just like a generic menu with all the possible options in the API but in the documentation you share it is not mentioned you can use it for the particular method you mention.

How to create CURL command for POST method for Salesforce Account Object using Salesforce Tooling API On Postman?

Hi i am able to get OAUTH token using below article,but i need to send POST method for Accounts using Salesforce Tooling API On Postman
i am using v45.0 version of salesforce,can some one tell me what should be below things:-
1)Rest end point for standard account object which needs to be hit using Postman
2)Body json payload which needs to be sent along with Rest endpoint Postman
I tried sending mandatory fields of Account object but got 404 status code that is Bad Request,
Please help me in building a rest end point curl command for standard salesforce Account object
https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resource_examples.htm
Thanks In advance,
Carolyn
If you have basics sorted (you can log in and query successfully from Postman) it's bit easier to explore the APIs using Workbench -> Utilities -> Rest Explorer https://workbench.developerforce.com/restExplorer.php
Or - bit more work but will pay off once you set it up - you can download a collection of Postman API calls for many things you could need: https://github.com/forcedotcom/postman-salesforce-apis
Anyway. Ditch the tooling api, use normal rest api.
To insert single account
send POST
to {base url you got from login result}/services/data/v49.0/sobjects/Account
with body similar to
{
"Name" : "Foobar Inc.",
"Website" : "http://example.com",
"NumberOfEmployees" : 123
}
(you might need your own required fields but generally it should work)
Response will be something like
{
"id" : "0014u00001ojYsQAAU",
"success" : true,
"errors" : [ ]
}
You can also send up to 200 records in 1 message, create account and related contacts in one go (useful because it saves you some headache mapping ids - and if one of contact fails to load you may want to undo the whole operation, not be left with orphan/widow records). Check https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_composite_sobject_tree_flat.htm out and other links from same chapter

Creating a Message-Hub Bridge for IBM Cloud Object Storage

I'm trying to create a "Bridge" from Message Hub to S3 Object Storage, copying information from the credentials that I created but I always get an error that says "Please trying refreshing the page, or logging back into Bluemix."
I have already created an access policy for these credentials and the Bucket I want to use as destination.
Also tried with private and public end-points.
I wasn't able to found documentation that explains how to accomplish this. Nothing seems to work.
Thanks!
Apologies, this is an internal error caused by the S3 Object Storage bridges capability being made available in the UI but not in the backend.
An update to the Message Hub service will be made this week to correct this.

SharePoint 2010 listdata.svc REST API throwing unexpected 500 Error

We wrote an application that consumes the SharePoint 2010 REST API. The application works fine in our Dev and Test environments. When we try our production site we get a 500 status code and the following is in the response body.
{
"error": {
"code": "",
"message": {
"lang": "en-US",
"value": "An error occurred while processing this request."
}
}
}
We have checked for code, and list definition mismatches against all environments. We have checked the SharePoint and Windows application logs. We are checking to see if maybe some bad data is causing the problem.
Really scratching our head over here on this one.
Any ideas would be much appreciated.
Background
SharePoint 2010 Server
Using SharePoint 2010 REST service listdata.svc
Using AngularJS $http service to call the REST API
Only one of 6 Lists return the 500 errors
Can reproduce error using Postman.
Update
We have confirmed that it is not a data issue.
I ran into a similar problem yesterday, I rolled back any changes I had been working on and it turned out to be related to my workflows. I backed up the workflows with this Export to Visio method Export to Visio and deleted all my workflows. And it the REST service started working again for this list, other lists were still working fine. One of my workflows had an impersonate step that I suspect has something to do with locking up the service.
I was about to backup/restore the list but got lucky with this fix.

Invalid and/or missing SSL certificate when using Google App Engine

UPDATE: Please, if anyone can help: Google is waiting for inputs and examples of this problem on their bug tracking tool. If you have reproducible steps for this issue, please share them on: https://code.google.com/p/googleappengine/issues/detail?id=10937
I'm trying to fetch data from the StackExchange API using a Google App Engine backend. As you may know, some of StackExchange's APIs are site-specific, requiring developers to run queries against every site the user is registered in.
So, here's my backend code for fetching timeline data from these sites. The feed_info_site variable holds the StackExchange site name (such as 'security', 'serverfault', etc.).
data = json.loads(urllib.urlopen("%sme/timeline?%s" %
(self.API_BASE_URL, urllib.urlencode({"pagesize": 100,
"fromdate": se_since_timestamp, "filter": "!9WWBR
(nmw", "site": feed_info_site, "access_token":
decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key":
self.API_APP_KEY}))).read())
for item in data['items']:
... # code for parsing timeline items
When running this query on all sites except Stack Overflow, everything works OK. What's weird is, when the feed_info_site variable is set to 'stackoverflow', I get the following error from Google App Engine:
HTTPException: Invalid and/or missing SSL certificate for URL:
https://api.stackexchange.com/2.2/me/timeline?
filter=%219WWBR%28nmw&access_token=
<ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key=
<API_KEY_REMOVED>&site=stackoverflow
Of course, if I run the same query in Safari, I get the JSON results I'm expecting from the API. So the problem really lies in Google's URLfetch service. I found several topics here on Stack Overflow related to similar HTTPS/SSL exceptions, but no accepted answer solved my problems. I tried removing cacerts.txt files. I also tried making the call with validate_certificate=False, with no success.
I think the problem is not strictly related to HTTPS/SSL. If so, how would you explain that changing a single API parameter would make the request to fail?
Wait for the next update to the app engine (scheduled one soon) then update.
Replace browserid.org/verify with another service (verifier.loogin.persona.org/verify is a good service hosted by Mozilla what could be used)
Make sure cacerts.txt doesnt exist (looks like you have sorted but just in-case :-) )
Attempt again
Good luck!
-Brendan
I was facing the same error, google has updated the app engine now, error resolved, please check the updated docs.

Resources