YAP Frequently Asked Questions (FAQ)

This page answers some of the most common questions we get about YAP and the technologies which power it. This includes the Yahoo! Application Platform (YAP) and our Social APIs.



I'm using the PHP SDK but I have an error. How do I work out what went wrong?
Our PHP SDK helpfully outputs error messages in your web server error's log. For most Apache installations this is the error_log file, however it might be a different file depending on your server configuration. The output consists of a small error message followed by the request and response objects you sent to the server.
I'm getting an error from the PHP SDK talking about timestamps, what's going on?
If you get an error that says a timestamp was expected between xxxx-xxxx then the time on your server is probably wrong. OAuth uses the time since the EPOC in UTC as part of the request signature. If your server has the wrong time your app will be creating the wrong signatures. The most common explanation for this is that the daylight saving time setting are wrong on your server. Try consulting your server documentation to check the DST settings.
How do I create tabs in my YAP App using YML?
You can create tabs in both the small view and the full canvas using the YML:A tag.
I don't like the look of the friend selector do you have a prettier one?
The friend selector is just HTML. You can style it like any other HTML using CSS. The CSS class you'll need to use is .friend-selector.
I don't like the way the friend selector works can I change that?
The yml:friend-selector tag is just for your convenience but all the information to make a friend selector is also available via our APIs. You can access the data and create an interface that makes sense for your app.
I'm having some trouble with OAuth any suggestions?
You should try reading the OAuth Docs. Some OAuth libraries may need some help getting them to work with the Yahoo endpoint. More discussion and detailed advice can be found in an OAuth thread on our forums. We are planning to have a fix for some of the inconsistent behavior of our endpoints by February 2009.
Which programming languages have an SDK or library for the Yahoo! Open Strategy Platform?
You can find all of our SDKs here at Yahoo! Social SDKs.
Does YQL support non-Yahoo APIs?
YQL currently supports Gnip as a native table. Any public atom, csv, feed, html, json, rss or xml source on the Web can be used as part of YQL statements. We have a simple mechanism to add new tables and we're working working with external partners to test our solution. Keep an eye on the YDN blog for updates. You can find more details on YQL in the YQL guide.
I'm getting error messages with my JavaScript while using YAP, what's going on?
YAP uses a system called Caja to provide JavaScript and CSS security. We really care about security, for our users but also for you as a developer. Using Caja allows us to open up more data and put YAP containers on more parts of Yahoo safely. If you are getting an error you can consult the Caja Docs for more details.
I can't access people from my address book in my connections. I don't understand why.
Connections are special two-way relationships that both people in the connection have to agree to. You can add connections on your profile page, in Yahoo! Mail and other places around Yahoo!. Once these special relationships are in place then you can use them to do more interesting things with the Connections API.
How can I make JavaScript events work on the YAP?
You should use the W3C style event model for your YAP apps. Caja will conveniently make sure that events work the same in all browsers for you. You can see an example of this style below:
<div id="myDiv">Click Me</div>
var currDiv = document.getElementById('myDiv');
if (currDiv.addEventListener) {
            currDiv.addEventListener('click', function(){
                        //DO SOMETHING
            }, false);
} else if (currDiv.attachEvent) {
            currDiv.attachEvent('click', function(){
                        //DO SOMETHING
I'm getting an error Fatal Exception: java.lang.ClassCastException: ModuleEnvelope when I preview my code. What's the problem?
The Fatal Exception: java.lang.ClassCastException: ModuleEnvelope error indicates that you probably have some bad CSS in your application which Caja isn't parsing. You should try validating your CSS using the W3C CSS Validator. This error is often caused by invalid property values such as color:octarine.
Why doesn’t Yahoo! have an OpenSocial forum?
In order to ensure that conversation about OpenSocial occurs in one place, we encourage developers to visit the OpenSocial forum.
What's the difference between an Open Application and an OAuth Application, and which one should I use?
An Open Application is a Web application that appears on Yahoo! pages such as My Yahoo!. Users can locate Open Applications in a gallery and can add these applications to their Yahoo! pages. An Open Application uses OAuth and typically calls Yahoo! Web services. An OAuth Application also uses OAuth and typically calls Yahoo! Web services. However, an OAuth Application does not appear on Yahoo! pages. So, if you want your application to appear on a Yahoo! page, you must set it up as an Open Application. For step-by-step instructions on setting up an Open Application applications, see Creating an Open Application.
What is the difference between the API Key and the Consumer Key?
The terms API Key and the Consumer Key both refer to the same OAuth key, which the official OAuth spec calls the Consumer Key. The term API Key, however, is widely used when referring to keys for Web APIs. Thus, OAuth Applications use the term API Key, while Open Applications adopt the official OAuth term. The YOS documentation uses the term consistent with the type of application (Open or OAuth) and parenthesizes the equivalent term.

For example, the Y!OS documentation would refer to the Consumer Key (API Key) for Open Applications and the API Key (Consumer Key) for OAuth Applications.