I have a strange problem with Google Charts API.
According to the docs, the "GET" limit is 2048 bytes, but I have this one link I created that is well below the limit (1663 bytes) and still chokes the server with a "Request-URI Too Large" error.
Here's the link (check "view source"): broken chart
I'm guessing that it's not really a size problem, but rather some kind of parsing problem in the Google Chart API..?
I have implemented the "form" fallback (to enable 16K requests), but I only want to use this method when the request gets bigger than the allowable 2K.
Any ideas?
Thanks,
Sebastian
Maybe lose the 1-300 chxl parameter - it doesn't display well at all. And check your chof=validate. I'm not sure what it does but if I remove both of those things your chart appears perfectly.
Related
Summary - Currently the Directory API User Photo's photo data (encoded as web-safe Base64) handles padding in a way that contradicts the documentation; padding should be converted from = to . but instead requires =. Looking for clarification of if this is intended or not.
Details - I have been using the Google API to interface with the User Photos - being able to retrieve and update. The documentation is clear as to how the Web-Safe Base64 format for the photo data needs to be presented:
For padding, the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing.
However, recently this has stopped working. I'm unsure of exactly when this happened. (Edit: Based on similar comments from years ago that I'm finding, this may have never worked and I just never happened to test a photo that encoded into something with padding.)
To test this I downloaded an existing image and re-uploaded it, and got the error Invalid value for ByteString. If I intercept the Base64 being returned and pass that same data back directly, I get no error.
The issue turned out to be the padding - in the documentation it states the = equals padding needs to be replaced with a . period. My example Base64 ended with two padding characters, which were turned into two periods as expected (and this gives the error). If I instead leave the padding as the = equals, it works no problem.
Turns out the Base64 being returned from Google when you retrieve a user photo also has the padding with = equals characters, which seems to clearly contradict the documentation. I have also confirmed this through the Try It Now methods via the web, so it's not language or API Client-specific.
So, did the process change and the documentation (last updated Feb 26th, 2015) isn't updated? Is this a permanent change or a bug?
Edit - According to some other posts it looks like this has been a longstanding issue, I may have never run in to an image before that ended up with padding. Point stands - is the documentation accurate, or do I need to adjust for this?
Edit 2 - All signs point to this being either a bug or bad documentation. Either way, I was unable to find any issues in their tracking for this, so I have opened an issue for it. If I get official word in any case I will [try to remember to] come back and provide it as an answer.
I have a problem deleting documents from Amazon CloudSearch.
When I send document for deletion I receive response
{"status": "success", "adds": 0, "deletes": 5}
And then the video stays in the index with all fields reset to their default values and not deleted.
The documentation is not clear if this is the normal behaviour or a bug.
Any one else experienced this?
This surprised me too but appears to be normal behavior. The 'deleted' documents aren't searchable anymore since their fields are all null so they shouldn't cause any problems.
The problem I have with this is that they can be returned if you search for something like "-zomgwtfbbq", since they don't contain the term "zomgwtfbbq".
It is also confusing since it makes your dashboard show one count (the "searchable" documents) but if you run a test search for -zomgwtfbbq (what I have been using as a proxy for "get all documents"), you get a different number. Took me a while to figure out why.
Despite what they say about setting the version to max uint32 "permanently removing" the document, it will still be there. The problem is that they consider these documents unsearchable, but they're not.
Are you specifying the version number when you delete the document?
When deleting documents, note that deleting version max(uint32_t) will permanently remove the document from your domain. Because it is not possible to specify a higher version number, there is no way to add a later version of the document.
http://docs.aws.amazon.com/cloudsearch/latest/developerguide/versioning.html
I have just plugged iJento into my project to track marketing data and there is this track method that tracks data entered on a form.
All forms are okay except one rather big form that gives out: HTTP Error 400 - The size of the request headers is too long.
The cookie in the header is indeed pretty big on that form but I don't want to disable it.
I tried enlarging the header size on IIS7. I went to "Request Filtering" and added a new Header of type "Cookie" whose size is a lot larger than it needs to be but that didn't solve it.
Is there another way to circumvent the problem?
Found the answer.
Going to the registry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters
and added two new DWORD (32bit) values MaxFieldLength and MaxRequestBytes
They need to be set to something larger than the defaults, in my case I used the maximum allowed values which are 65534 and 16777216 in Hexadecimal.
Then you need to restart he computer and voila.. problem solved.
Hello Graph API experts,
When you call /[post_id , the result contains "comments" field which has "count" field that is supposed to have the total number of comments for this particular post.
Now, if you call /[post_id]/comments , you get the actual comment data, one by one.
The problem I am facing is that, when I compare the "comments.count" field's value and the number of all of the actual comment data returned, they are different.
What's even worse, if you then look at the same post on Facebook.com's Timeline where you can see the number of comments for that post (i.e. "view all * comments" link), this number is also different from the "comments.count" field value.
And this is not only happening to one post, but to many of them - I observe this tend to happen more to posts with more than 100 comments (I actually counted all the comments on Timeline, and it matched the number of the actual comment data returned from /[post_id]/comments API call).
Is this a normal API behaviour? Which number should I or would you trust if this is the way it is?
ok, when you looking some facebook comment counts on some timeline posts, you woulld see that count for ex. 16 comments, and when you try to count comments manually on the post you may see it's looking 15 comments, so where is it that missing comments ? is that a wrong count by facebook ? no not actually, it's because, some people changing profile privacies as like don't show my comments people who aren't my friends, or we haven't any mutual friends, etc. it's because you cannot get these privatized comments from graph api, but these comments aren't excluding in total count. So what's the solution, just be sure get all the data correctly what facebook provide you. And compare it, how many comments looking like missing, and show missing counts as private comments count in your application. I think is much better.
Welcome to the world of Facebook API programming. Yes, this is normal (but apparently not desired) API behavior. This is one of the inconsistencies we're faced with when programming around their API. CBroe is probably correct in his comment above, it is data inconsistencies between servers in their API cluster.
in addition to this there are problems with pagination, you can use the offset + limit parameters to say how much data you want and from where to take it, if you deal with number of posts, you can say offset=0 and limit=50 and it'll work, but then if you try offset=100 and limit=50 it might return empty data, but then try offset=100 and limit=100 and it'll return 100 posts.
the api is just buggy and full of inconsistencies which don't seem to have any way to solve them.
I think we got oversold on the opengraph, I don't think it's what facebook told us it would be and I'm starting to feel the burn from selling that to my boss and finding out that I perhaps can't deliver :(
I want to get stream entries from the last x days or weeks in the past. But when I call the news feed via Graph API with parameter 'limit' or 'until', I get entries from the last 48 hours only, no matter how high I define the parameter, also paging to the next pages is not possible, they are empty.
https://graph.facebook.com/me/home?access_token=...&limit=500
It seems that Facebook set up a limit (only in the 'home' feed). Does anybody know if there is a possibility to get more entries from a larger period of time? Or is it possible to get whitelisted from Facebook to receive more entries?
It seems /user/home has been deprecated use /user/feed instead
in response to your question the following are available in the graph explorer but i havent been able to find documentation on these. I would do more research on these.
/user/feed/?since=<value>
/user/feed/?until=<value>