What is wrong with this TapKey ICalendar object? - tapkey

I'm trying to Put / Patch grants, but get an Ical exception. What is wrong with this:
BEGIN:VCALENDAR
PRODID:prodid
VERSION:2.0
BEGIN:VEVENT
DTEND;TZID=Europe/Amsterdam;VALUE=DATE:30001231
DTSTAMP:20221028T151844
DTSTART;TZID=Europe/Amsterdam;VALUE=DATE:20220824
SEQUENCE:0
UID:f03cdae7-8475-40b5-8521-c902d736e508
END:VEVENT
END:VCALENDAR
Regards,

The problem with your ICAL is the DTEND value with a year of '3000'.
You are right, this ICAL was accepted before, even though it was not supported. We changed this recently and missed that someone had this specified, for what we apologize, of course.
The ICAL grant with such a long timespan is heavy to calculate on the lock and might lead to unexpected results, like grant not being valid after i.e. 10 years.
The maximum timespan that can be specified via ICAL is 68 years with the current locks available on the market.
When not using a reccurence, but simple DTSTART/DTEND, it is recommended to use validFrom/validBefore combination instead of ICAL, that are simpler to calculate on the lock.
In your case validBefore would be null, meaning "unlimited".
We also recommmend you to update existing grants having 3000 year in ICAL to avoid any issues in the future.
To your question about the documentation of API changes, our current API version is always up to date and documented on developers.tapkey.io. We do not intentionally introduce breaking changes, but in this case it was a mistake. Again, we are very sorry for the inconvenience caused.
There is no specific endpoint to test the ICAL, what you can do is to try to create a test grant i.e. for yourself and remove it afterwards.
Thank you for your feedback, we will also try to improve the error message in this case.

Related

iCloud GameKit 40 request / second limit questions

I'll be straightforward:
What does it count as a "request" ? in some posts I've read a request is a "fetch", but on some others says 1 same operation of saving/updating might occur into several "requests".
What does it mean the system "throttles" your requests? I've heard if you reach the limit of 40 req / second, the system "throttles" your requests.... what does exactly mean this? and which criteria does it use? I'm guessing if you get a peak for whatever reason of lets say 80 req/second but after that you go back to your average 20/second the system won't charge you? if it's that, which criteria does it use?
If for any reason you need more requests per second... you simply have to pay the penalty? or is there any way around it?
Thanks a lot in advance.
Okay I think I found the key of the matter.
The scarce documentation says you have 40 requests/second per database. So if you are using private databases foreach user that means each user has 40 request/second .
This changes if you are using public database where all have access of course.
Someone please correct me if I'm wrong.
Thanks

WebServicex Currency Convertor API

WebServicex Currency Convertor API is returning always -1 as the conversion rate regardless of the currencies I specify..
Is there a way I can get it to work, to return an actual accurate conversion rate please?
I don't know why minus 1 is returned. I think there are only 2 parameters FromCurrency and ToCurrency. Here's an example URL I used:
HTTP POST REQUEST:
httppost://www.webservicex.net/currencyconvertor.asmx/ConversionRate?FromCurrency=GBP&ToCurrency=EUR
Here is what's returned:
-1
I also tried From USD to EUR but it still returned -1.
Do I need to register and enter a developer key as a parameter or something? I didn't find that information anywhere, it's just a guess.
If nobody can help me with Webservicex; their service is not working properly; maybe it's just not a good one, can anybody recommend a good currency conversion web service. I want to call the result from within my db solution to meet my clients request, and I only have a day before I need to show something working to them. I hope you can help, it would be much appreciated.
Thankyou
Kind Regards
sharpie
You may use the yahoo finance api.
http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=l1
Although it will give the csv but if you will just use it in script then it will give you the direct transaction value.
I hope it will serve your purpose.

Transport Rule Logical And for Exchange 2010

Good Afternoon,
I have exhausted my googling and best-guess ideas, so I hope someone here has an idea of whether this is possible or not.
I am using Exchange Server 2010 (vanilla) in a test environment and trying to create a Hub Transport Rule using the Exchange Management Console. The requirements of the rules filtering are similar to the following scenario:
1.) If a recipient's address matches (ends with) "#testdomain.com" AND (begins with) "john"
2.) If the sender's address matches (ends with) "#testdomain.com"
3.) Copy the message to the "SupervisorOfJohns#testdomain.com" mailbox
I have no problems doing items 2 and 3, but I cannot figure out how to get item 1 in the same condition. I have come across some threads that simply concluded that MS goofed on this, but I am hesitant to fault them for something which seems like it should be really straightforward. I must be missing something. Expressions I have tried so far...:
1.) (^john)(#testdomain.com$)
2.) ^(john)(#testdomain.com)$
3.) (^john)#testdomain.com
4.) ^john #testdomain.com$
5.) ^(john)#testdomain.com
If you use the interface and +Add them as two separate entries, it treats them as an OR clause (if a recipient address begins with "john", OR it ends with "#testdomain.com"). As you can see from my simplistic attempts, I have barely any clue what can/should work in this case. Any suggestions or ideas would be appreciated.
Respectfully,
B. Whitman
Here's what I ended up using:
john\w*#testdomain.com
The reasoning behind the question is that I'm trying to make a service to catch certain e-mails and do some processing with them. I also wanted to restrict the senders/recipients to certain domains (though some checking will also be done with the processing service). Thanks to hjpotter92 for his solutions!

WIF has IsSessionMode = true but still produces chunked cookies on occasion

I've got an unusual problem with WIF. I have to use WIF 3.5 because of compatibility with .Net 4.0.
Following the advice from Vittorio Bertocci here http://www.cloudidentity.com/blog/2010/05/26/your-fedauth-cookies-on-a-diet-issessionmode-true/ We have set IsSessionMode = true in WSFederationAuthenticationModule_SecurityTokenValidated, and most of the time it is working perfectly - we are getting small FedAuth tokens which are pointers to our token in our memory cache.
However, periodically we are getting chunked FedAuth cookies which contain the full token information.
There is no obvious place in our code where we have an alternative code path.
I can't find any other examples of this particular inconsistency on Stack Overflow, or in any blogs about WIF on the wider internet, so I'm throwing this question out here in case anyone else has seen this problem and resolved it.
Meanwhile we are going to try setting up so that we can debug through the WIF code if we can make the problem occur reliably.
We've found out the problem - IsSessionMode was being set in the wrong place, it should have been on SessionSecurityTokenCreated. It appears that it was being set per-instance rather than on init which meant that in some circumstances it had the default value of true.
Could you be sharing another relying party's cookie? One which is not using session? Try explicitly naming each RP's cookie -each one differently.

How to access facebook insight datas for consecutive months?

I'm new to Facebook app development I hope I can get an answer here.
Is that possible to retrieve Facebook insight data for consecutive months?
I tried end_time=2010-01-01 to since=2010-01-31 and period=month but I got
The specified date range cannot exceed 3024000 seconds!!
How will I get like 2010-02-01 to 2010-02-28 and 2010-03-01 to 2010-03-31?
I have tried and used lots of examples but I couldn't succeed: How can I solve this problem?
The thing that has worked for me is very similar to what you are doing, with the difference being that I use the UNIX timestamp for SINCE and UNTIL.
Example:
https://graph.facebook.com/212686148747689/insights/
page_impressions_by_city_unique/week/?
access_token=QWERTYUI&since=1315699200&until=1320796800
(That's all supposed to be on one line, but it's easier to read it this way, at least for me.)
With this approach, you want to be careful and make sure that the difference between SINCE and UNTIL is not bigger that 90 days. Otherwise, you'll get an error, like so:
(#604) The specified date range cannot exceed 7776000 seconds
Finally, if you don't have a way of generating the UNIX timestamp automatically, go to a web site like:
http://www.epochconverter.com/
If anyone else has some better insights, please share. I hope this helps.