Apply With LinkedIn Button doesn't appear

103 posts / 0 new
Last post
Mark Zahn's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 12:26
Apply With LinkedIn Button doesn't appear

I'm trying to put the Apply With LinkedIn button on my site and it appears to be there but it's not displaying. If I right click on the page in Firebug or Chrome and inspect the page, the script code is there. In Chrome, when I hover over it, it says the user agent stylesheet has this:

script {
display: none;
}

This happens across every browser on multiple computers and internet connections. I was able to use the demo Linkedin Apply button successfully, and I've tried putting other javascript widgets in the same place and they all show. For whatever reason, just this button is giving me problems.

Apologize for my ignorance, but any ideas?

Evan Osherow's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 14:34

Same problem here. API key is loaded and correct. Nothing appearing.

Mark Zahn's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 14:52

Glad to know it's not just me. I'm trying to apply the button to a jobs-related Drupal site, and I'm trying to make the button appear on job listings, populated with specific field information from each listing. Nothing I try seems to be working. Also installed the LinkedIn Integration module to see if that would help and still nothing.

Russ Boreham's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 15:10

Frustrating, spent the last hour trying to work out what I was doing wrong trying to embed this into Joomla. Apparently nothing if you are all having issues too.

Eugene O'Neill's picture
Developer Advocate
Joined: 01/07/2011
Mon, 07/25/2011 - 15:33

Are you getting any JavaScript errors? If you have an integration page or sample code we can take a look at, we are happy to help troubleshoot.

Evan Osherow's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 15:48

I'm just placing the two scripts into my HTML file (after adding the correct API key and company ID). No JS errors. I'm a HTML/CSS developer, and I don't see the problem.

(I tried pasting the markup here, but the forum doesn't like that.)

Mark Zahn's picture
Joined: 07/25/2011
- (Reply to #5) Mon, 07/25/2011 - 15:54

Below is a screenshot of one of my jobs pages with the page source overlaid in Chrome. The code physically appears but the button doesn't show. (You may have to right click and view the image larger to see) Note on the right of the page source that I'm seeing the script {display: none;} css rule I was talking about before. I don't think I'm getting any Javascript errors from the button.

Laura Scott's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 16:29

Instructions say to use the widget builder, no code editing needed, but in fact the code has " api_key: YOUR_API_KEY" in it. But nowhere does the site say what this API key is, or how one gets one. It seems like we still need to go through a developer application process after all. No?

Mark Zahn's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 20:19

I applied for the API key, as per the documentation. It said the key should be a LONG string of characters (like 60 some characters by its example) but mine was only like 20, tops. Not sure if that has anything to do with it. I'm pretty OK with Drupal, but I'm no real developer (as you could probably tell).

Tim Dineen's picture
Joined: 07/25/2011
Mon, 07/25/2011 - 20:55

Using a freshly applied for approved API key, retrieved Company ID, used the widget builder, pasted code (nothing else on the test page, just HEAD and BODY tags to rule out any JS conflict issues or errors) and updated the API key to the real key...

The button doesn't appear.

Russ Boreham's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 02:09

I thought at first that it may be a runtime error on my script so I tried using an integrated javascript module for my CMS but it still doesn't show. I tried the other two JS plugins and both of them work using this method so I don't think the error is my end (for once).

I have followed all the steps, even use the key (Mark, my key is also very short compared to the notes) and tried different variations of the script but with no joy.

Eugene O'Neill's picture
Developer Advocate
Joined: 01/07/2011
Tue, 07/26/2011 - 02:47

Without seeing any examples of code, my best guess would be your API keys aren't validating (probably not registered to a valid domain).

Just to clarify on a few points about API Keys:

  • Yes, to use Apply with LinkedIn you do need an API Key. You can register one here if you don't have one: https://www.linkedin.com/secure/developer
  • You must specify a valid domain the API key will be used on (https://www.linkedin.com/secure/developer enter your domain under JavaScript API Domain)
  • You may have to wait up to 30 minutes for these changes to take affect
  • The LinkedIn framework (and Apply with LinkedIn) will only work on a valid domain/host. localhost is fine for testing
  • The shorter API Keys should still be valid
  • Check out Getting Started with the JavaScript API for more info about API Keys

Once you have an API Key set up, try testing this simple test case:

<html>
<head>
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: YOUR_API_KEY
</script>
</head>
<body>
<script type="IN/Share"></script>
<br/><br/>
<script type="IN/Login"></script>
<br/><br/>
<script type="IN/Apply" data-email="test@example.com" data-jobTitle="Testing" data-companyID="1337"></script>
</body>
</html>

You should see both a "Share", "Sign in with LinkedIn", and an "Apply with LinkedIn" button appear. If you see these, your API Key has been validated and you should be able to integrate Apply with LinkedIn across your site. If you don't see all three buttons, you should have gotten a JavaScript error (see error console in your browser debugger).

If you have already implemented the LinkedIn Share button (or other LinkedIn professional plugins), you may be loading the framework (http://platform.linkedin.com/in.js) multiple times on the same page. This is ok (not ideal) but our framework will only load itself for the first instance). In this case, make sure you only include one instance or you ensure the first instance includes your api_key.

Hope this helps.

As always, if you can provide a URL to your integration page or sample code, we can help troubleshoot.

Eugene O'Neill // Web Developer
LinkedIn

Ivan Rečević's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 04:24

Everything is displayed properly and people can send their Resumes. But no mail is received. What can be the problem? URL is http://www.hugemedia.rs/kontakt

Russ Boreham's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 04:39

Hi Eugene,

Thanks for your assistance. I tried your sample code and can now see the 'share' and 'sign in' buttons however the 'apply' button still does not appear. This is interesting as when I put all your code into my HTML template to test it I could see all three buttons without any issues - I'd suggest that my Key is valid but for some reason it isn't liking something on my site.

http://associates.timbahost.com/free-services/live-jobs.html

Thanks

Russ

Brad Slavin's picture
Joined: 07/26/2011
Tue, 07/26/2011 - 05:01

For me the issue was the API domain. I made two versions of the code one with and one without the developer API key. Once I fixed the API domain the code just worked and I am able to accept job applications.

Thanks for the help.

Mark Zahn's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 06:12

Still not working for me. Tried the sample code above but only got the Share button to appear. This is a page with my Apply button embedded (at the very bottom of the page).

http://www.foxcitieshired.com/midvalleegolfcourse/serverprepcook

Tim Dineen's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 07:31

Thanks Eugene -

Making these two changes fixed it for me:

1) Moving the first part of the script up to into the HEAD
* This wasn't specified in the documentation, but seeing your example I tried it.
* I'd suggest updating the documentation - especially making note of this on the "plugin generator" page.

2) Adding the domain under "JavaScript API domain"
* I had our domain under the "Integration Url" field.

Thanks

Mark Zahn's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 07:39

I tried various different domains in the Javascript API Domain field (ie. foxcitieshired.com, www.foxcitieshired.com) leaving several hours in between updates to give it time to process, and I also tried putting the first part of the script in HEAD vs in the page itself. Neither has worked for me thus far.

I'm also using the LinkedIn Share Button module in my Drupal installation, and I temporarily disabled it thinking it may be conflicting, but that didn't help either.

greensboro-nc.com /'s picture
Joined: 06/09/2011
Tue, 07/26/2011 - 08:39

I got it working
Thanks

Evan Osherow's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 08:41

<script src="http://platform.linkedin.com/in.js" type="text/javascript">api_key: ***</script>
<script type="IN/Apply" data-companyid="***" data-jobtitle="Great jobs at" data-joblocation="Midwest" data-themecolor="#336699" data-phone="required" data-email="***"></script>

I've got the correct JS API URLs and everything else looks good. When doing the above test, only the Share button appeared, which makes me think it's a problem with the API key.

Laura Scott's picture
Joined: 07/25/2011
- (Reply to #12) Tue, 07/26/2011 - 09:31

Thanks for documenting this process. It would be helpful to have this on the widget builder area, because there is NO MENTION of any requirement to get an API key anywhere. All the links connect directly to the widget builder itself. Why not have a link to the API Key application there, put it into the workflow? Then people like me wouldn't be wasting your time. ;)

Federico Rosenhain's picture
Joined: 07/26/2011
Tue, 07/26/2011 - 11:40

This is so far the code I have.... sadly, it doesn't work for me.....

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: xxxxxxxxxxxx (The short version one)
</script>
<title>::: Aleph Consulting :::</title>
<script type="text/javascript">

<script type="IN/Share"></script>
<br/><br/>
<script type="IN/Login"></script>
<br/><br/>

<script type="IN/Apply" data-companyid="967914" data-jobtitle="Analista Sr de Base de datos (DBA)" data-joblocation="Buenos Aires" data-email="xxxxxxxxxxx@gmail.com"></script>

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #21) Tue, 07/26/2011 - 12:29

Did everything work out for you? The code generator tries to provide a simple one-click solution to getting your code up and running without wading through pages of documentation. That said, it can definitely use some improvement and we appreciate the feedback and will improve the flow for the user.

Thanks for being patient and congratulations for being one of our early adopters :D.

- Eugene

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #13) Tue, 07/26/2011 - 12:35

Emails are sent asynchronously (meaning they are queued before delivery to prevent overloading our servers). It may take an hour or two to receive the email (it's usually less than a few minutes, but depending on site traffic it may take longer).

If you are still not seeing any emails, let me know and we will further investigate.

P.S. I also noticed going to you site that your API key is only set up to work on hugemedia.rs and not on www.hugemedia.rs
We treat subdomains as unique domains, for security reasons. You can fix this by entering multiple domains comma separated on your API key (e.g. http://hugemedia.rs, http://www.hugemedia.rs)

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #14) Tue, 07/26/2011 - 12:43

Hi Russ,
I took a look at your page and I'm seeing this JavaScript error message:
data-email is not a valid email ( <script language='JavaScript' type='text/javascript'> <!-- var prefix = 'ma' + 'il' + 'to'; var path = 'hr' + 'ef' + '='; var addy95061 = 'test' + '@'; addy95061 = addy95061 + 'example' + '.' + 'com'; document.write( '<a ' + path + '\'' + prefix + ':' + addy95061 + '\'>' ); document.write( addy95061 ); document.write( '<\/a>' ); //-->\n </script> <script language='JavaScript' type='text/javascript'> <!-- document.write( '<span style=\'display: none;\'>' ); //--> </script>This e-mail address is being protected from spambots. You need JavaScript enabled to view it <script language='JavaScript' type='text/javascript'> <!-- document.write( '</' ); document.write( 'span>' ); //--> </script>)

It looks like you have another plugin set up that transforms raw email addresses into JavaScript output. Unfortunately, we have no way of supporting this. The only solution is to disable this email filter (at least for pages that are using the Apply with LinkedIn button).

Hope this helps.

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #15) Tue, 07/26/2011 - 12:44

Glad it's working :D

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #16) Tue, 07/26/2011 - 12:51

I'm seeing the JavaScript error: no CompanyName or CompanyID provided.

For Apply with LinkedIn to work, there are a few required fields:
data-email, data-jobTitle, and data-companyName OR data-companyID.

We encourage the use of data-companyID if you have a LinkedIn company profile. You can use our company lookup (see our Getting Started guide. Under Step 4: Company, you'll see a textbox you can start typing your company name and select yours from the dropdown list. You companyID will appear below.

If you don't have a LinkedIn company page or ID, you can simply provide data-companyName="Your Company"

Hope this help.

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #17) Tue, 07/26/2011 - 12:55

Glad it worked! The script tag in the head is optional and can actually be placed anywhere in your page.

The API key domain is crucial though. We have to restrict API keys to domains to prevent those with malicious intents from simply copying your API key and using it on their site.

We will definitely improve our documentation/workflow to make this more obvious for future developers. Thanks for bearing with us and being an early adopter.

Congrats and I hope you enjoy the experience of Apply with LinkedIn.

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #22) Tue, 07/26/2011 - 13:10

Try this code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: xxxxxxxxxxxx (The short version one)
</script>
<title>::: Aleph Consulting :::</title>
</head>
 
<body>
  <script type="IN/Share"></script>
  <br/><br/>
  <script type="IN/Login"></script>
  <br/><br/>
  <script type="IN/Apply" data-companyid="967914" data-jobtitle="Analista Sr de Base de datos (DBA)" data-joblocation="Buenos Aires" data-email="xxxxxxxxxxx@gmail.com"></script>
</body>

The <script type="IN/..."></script> tags all have to be inside of the body tag to work correctly.

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #20) Tue, 07/26/2011 - 13:21

If you're able to check for JavaScript errors it should shed some light on why your API key isn't working properly. Here's a decent tutorial that highlights how to view JavaScript errors in various browsers.

It's possible that you are running code on a subdomain (www.example.com) and only registered the upper domain (example.com) on your API key. If this is the case, you can add multiple comma separated domains to your API Key:
http://example.com, http://www.example.com

If that's not the case and you're not seeing any other JavaScript errors, we can lookup your API key and see if there is another issue.

Thanks for your patience.

Federico Rosenhain's picture
Joined: 07/26/2011
- (Reply to #29) Tue, 07/26/2011 - 13:26

This is the code I'm appying....
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: ltvga6suefzm
</script>
<title>::: Aleph Consulting :::</title>
</head>

<body>
<script type="IN/Share"></script>
<br/><br/>
<script type="IN/Login"></script>
<br/><br/>
<script type="IN/Apply" data-companyid="967914" data-jobtitle="Analista Sr de Base de datos (DBA)" data-joblocation="Buenos Aires" data-email="frosenhain@gmail.com"></script>
</body>

But, I cant see ANY tag... BUT, if I remove the api_key, I can see the Share one....

Thanks in advance for your help!!

Federico Rosenhain's picture
Joined: 07/26/2011
- (Reply to #30) Tue, 07/26/2011 - 13:30

This explanation worked!!!
I got it up and running!!!

THANK YOU VERY MUCH!!

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #32) Tue, 07/26/2011 - 13:55

Hope it's smooth sailing from here. We'll make improvements to help others in the future. We hope you enjoy the experience and congratulations on being one of the first to say "goodbye" to resumes :D.

Evan Osherow's picture
Joined: 07/25/2011
- (Reply to #30) Tue, 07/26/2011 - 14:09

Thanks.

There are no relevant JS errors and the correct domains are entered. How can we check the API key?

Mark Zahn's picture
Joined: 07/25/2011
Tue, 07/26/2011 - 14:11

I checked the error console in Firefox and the online LI-related error I'm seeing is a "linkedin is not defined" error.

Mark Zahn's picture
Joined: 07/25/2011
- (Reply to #35) Tue, 07/26/2011 - 14:38

It took some time but I think I got it. The LinkedIn Share Button module in Drupal was throwing a duplicate of the top part of the JS into my page's HEAD (w/o the api_key). When I manually stripped that out, the error console was showing me that I, stupidly, didn't have a company name or ID in my code. (Originally used the code out of the generator but removed my LinkedIn company ID out but forgot to make Drupal plug the page's company name in its place.)

Thanks! Works great now!

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #36) Tue, 07/26/2011 - 15:19

Ahah! Good catch! Loading the LinkedIn framework will only process the first instance of in.js (in this case it was the non-api-keyed instance used by the Share button. Glad it's working for you now. If you can ensure the script tag with the API key is loaded first, you can still use the LinkedIn Share button module.

We will explore better error handling to throw more relevant error messages in cases like these.

Cheers,
Eugene

Mark Zahn's picture
Joined: 07/25/2011
- (Reply to #37) Tue, 07/26/2011 - 15:30

Leaving just the in.js with the API key still allows the share button to work on our site so i just left the one in place. Thanks again! Can't wait to launch the button formally in the next day or so.

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #38) Tue, 07/26/2011 - 16:09

I hope you enjoy the experience and start seeing the value immediately. We'd love to hear back from you in the future if it changes the way you review potential candidates.

Have a great one!

Ivan Rečević's picture
Joined: 07/25/2011
- (Reply to #24) Tue, 07/26/2011 - 21:45

This is valuable information. Thank you. Will try

Joined: 07/27/2011
Wed, 07/27/2011 - 04:09

I followed the instructions on a localhost project, the button is displayed correctly, but I didn't receive any email. I tried both yahoo and gmail addresses. Any suggestions ?

Russ Boreham's picture
Joined: 07/25/2011
- (Reply to #25) Wed, 07/27/2011 - 04:57

Hi Eugene,

A quick Google search helped me solve this error, thanks for your assitance. Have got this working now :-)

Very happy!

RB

Kimberly Negaard's picture
Joined: 07/27/2011
- (Reply to #8) Wed, 07/27/2011 - 12:49

I read through this entire thread and I'm still not clear about this point. It says, "The easiest way to configure Apply with LinkedIn is to use our plugin generator page. This visual interface lets you customize the plugin with no programming and without needing to consult our reference documentation." Is this correct or do I need to apply for an API Key? We want to use the email-only version. We don't need ATS integration. As a non-developer, I don't know what all the fields in the API application form mean or where to get that information. I want to make sure I really do need development involvement before I request it. Is that the case?

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #43) Wed, 07/27/2011 - 18:09

Hi Kimberly,

Yes, you do need to have a valid API key. We will update our documentation to make this clearer in the future and we apologize for the miscommunication.

To register an API key:

  1. head over to https://www.linkedin.com/secure/developer
  2. log in and click the link to Add New Application
  3. fill out the following info:
    • Company (choose from the dropdown)
    • Application Name (e.g. Fishbowl Solutions Jobs)
    • Description (e.g. For receiving applications from job applicants)
    • JavaScript API Domain (this is the website the button will go on e.g. http://www.fishbowlsolutions.com )
    • Application Use (select one from the list, if nothing matches your needs, choose "other")
    • Developer Contact Email (your email address)
    • Phone (a phone number you can be reached at if there are issues with the account)
    • check "I agree"
    • Security text (enter the characters you see just above it)

That's it! Submit the form and you should be presented with an API key. Copy that API key and replace the "YOUR_API_KEY" portion from the generator and you should be good to go.

Please see my sticky post about API Keys and other issues you might have setting up Apply with LinkedIn.

Let us know if you have more questions.

- Eugene

Joined: 07/27/2011
- (Reply to #41) Thu, 07/28/2011 - 00:12

I'm not sure you can call this a fix, but I changed my location to United States and it sends the email now. You should inform us that only US applications are possible.

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #45) Thu, 07/28/2011 - 00:30

Hi Andrei,
We discovered the issue late yesterday and will have a fix going out later today allowing international applicants to submit their profile.

The number of failed emails is small and most, if it not all, appear to be developers like yourself testing their integration. Nevertheless, we know this is unacceptable and understand the severity of this bug and want you to know it's our top priority to fix.

We apologize for the inconvenience and appreciate your patience as we resolve this issue.

Thanks,
Eugene

Vaidas Plutulevičius's picture
Joined: 07/27/2011
- (Reply to #45) Thu, 07/28/2011 - 01:28

Where exactly do i have to change my location?
Is it in javascript data-joblocation parameter ? I've set it to "United states", but still don't receive any emails.

Joined: 07/27/2011
- (Reply to #47) Thu, 07/28/2011 - 03:31

I changed it in the profile section. Though I'm not an US citizen, I modified there for testing purposes and applied successfully (email was received).

Vaidas Plutulevičius's picture
Joined: 07/27/2011
- (Reply to #48) Thu, 07/28/2011 - 05:51

thank you, it worked for me aswell :)

Eugene O&#039;Neill's picture
Developer Advocate
Joined: 01/07/2011
- (Reply to #49) Thu, 07/28/2011 - 20:26

The issue preventing international emails from sending should now be resolved. Please let us know if you encounter any other problems receiving emails.

Regards,
Eugene

Karthik Navaneethan Manimaran's picture
Joined: 07/25/2011
Fri, 07/29/2011 - 13:56

The apply button is shown if I include the js script in HEAD and the other script tag in the body. It doesn't work if either of the tags are loaded via AJAX.

Test page - http://example.caree.rs/company/displayJob.jsp?jobId=9223370745271511789c16a893e-8fa9-4a8e-b477-8e83199f2e3e

Pages