Search Results

Search found 17138 results on 686 pages for 'facebook actionscript api'.

Page 231/686 | < Previous Page | 227 228 229 230 231 232 233 234 235 236 237 238  | Next Page >

  • Web API, JavaScript, Chrome &amp; Cross-Origin Resource Sharing

    - by Brian Lanham
    The team spent much of the week working through this issues related to Chrome running on Windows 8 consuming cross-origin resources using Web API.  We thought it was resolved on day 2 but it resurfaced the next day.  We definitely resolved it today though.  I believe I do not fully understand the situation but I am going to explain what I know in an effort to help you avoid and/or resolve a similar issue. References We referenced many sources during our trial-and-error troubleshooting.  These are the links we reference in order of applicability to the solution: Zoiner Tejada JavaScript and other material from -> http://www.devproconnections.com/content1/topic/microsoft-azure-cors-141869/catpath/windows-azure-platform2/page/3 WebDAV Where I learned about “Accept” –>  http://www-jo.se/f.pfleger/cors-and-iis? IT Hit Tells about NOT using ‘*’ –> http://www.webdavsystem.com/ajax/programming/cross_origin_requests Carlos Figueira Sample back-end code (newer) –> http://code.msdn.microsoft.com/windowsdesktop/Implementing-CORS-support-a677ab5d (older version) –> http://code.msdn.microsoft.com/CORS-support-in-ASPNET-Web-01e9980a   Background As a measure of protection, Web designers (W3C) and implementers (Google, Microsoft, Mozilla) made it so that a request, especially a JSON request (but really any URL), sent from one domain to another will only work if the requestee “knows” about the requester and allows requests from it. So, for example, if you write a ASP.NET MVC Web API service and try to consume it from multiple apps, the browsers used may (will?) indicate that you are not allowed by showing an “Access-Control-Allow-Origin” error indicating the requester is not allowed to make requests. Internet Explorer (big surprise) is the odd-hair-colored step-child in this mix. It seems that running locally at least IE allows this for development purposes.  Chrome and Firefox do not.  In fact, Chrome is quite restrictive.  Notice the images below. IE shows data (a tabular view with one row for each day of a week) while Chrome does not (trust me, neither does Firefox).  Further, the Chrome developer console shows an XmlHttpRequest (XHR) error. Screen captures from IE (left) and Chrome (right). Note that Chrome does not display data and the console shows an XHR error. Why does this happen? The Web browser submits these requests and processes the responses and each browser is different. Okay, so, IE is probably the only one that’s truly different.  However, Chrome has a specific process of performing a “pre-flight” check to make sure the service can respond to an “Access-Control-Allow-Origin” or Cross-Origin Resource Sharing (CORS) request.  So basically, the sequence is, if I understand correctly:  1)Page Loads –> 2)JavaScript Request Processed by Browser –> 3)Browsers Prepares to Submit Request –> 4)[Chrome] Browser Submits Pre-Flight Request –> 5)Server Responds with HTTP 200 –> 6)Browser Submits Request –> 7)Server Responds with Data –> 8)Page Shows Data This situation occurs for both GET and POST methods.  Typically, GET methods are called with query string parameters so there is no data posted.  Instead, the requesting domain needs to be permitted to request data but generally nothing more is required.  POSTs on the other hand send form data.  Therefore, more configuration is required (you’ll see the configuration below).  AJAX requests are not friendly with this (POSTs) either because they don’t post in a form. How to fix it. The team went through many iterations of self-hair removal and we think we finally have a working solution.  The trial-and-error approach eventually worked and we referenced many sources for the information.  I indicate those references above.  There are basically three (3) tasks needed to make this work. Assumptions: You are using Visual Studio, Web API, JavaScript, and have Cross-Origin Resource Sharing, and several browsers. 1. Configure the client Joel Cochran centralized our “cors-oriented” JavaScript (from here). There are two calls including one for GET and one for POST function(url, data, callback) {             console.log(data);             $.support.cors = true;             var jqxhr = $.post(url, data, callback, "json")                 .error(function(jqXhHR, status, errorThrown) {                     if ($.browser.msie && window.XDomainRequest) {                         var xdr = new XDomainRequest();                         xdr.open("post", url);                         xdr.onload = function () {                             if (callback) {                                 callback(JSON.parse(this.responseText), 'success');                             }                         };                         xdr.send(data);                     } else {                         console.log(">" + jqXhHR.status);                         alert("corsAjax.post error: " + status + ", " + errorThrown);                     }                 });         }; The GET CORS JavaScript function (credit to Zoiner Tejada) function(url, callback) {             $.support.cors = true;             var jqxhr = $.get(url, null, callback, "json")                 .error(function(jqXhHR, status, errorThrown) {                     if ($.browser.msie && window.XDomainRequest) {                         var xdr = new XDomainRequest();                         xdr.open("get", url);                         xdr.onload = function () {                             if (callback) {                                 callback(JSON.parse(this.responseText), 'success');                             }                         };                         xdr.send();                     } else {                         alert("CORS is not supported in this browser or from this origin.");                     }                 });         }; The POST CORS JavaScript function (credit to Zoiner Tejada) Now you need to call these functions to get and post your data (instead of, say, using $.Ajax). Here is a GET example: corsAjax.get(url, function(data) { if (data !== null && data.length !== undefined) { // do something with data } }); And here is a POST example: corsAjax.post(url, item); Simple…except…you’re not done yet. 2. Change Web API Controllers to Allow CORS There are actually two steps here.  Do you remember above when we mentioned the “pre-flight” check?  Chrome actually asks the server if it is allowed to ask it for cross-origin resource sharing access.  So you need to let the server know it’s okay.  This is a two-part activity.  a) Add the appropriate response header Access-Control-Allow-Origin, and b) permit the API functions to respond to various methods including GET, POST, and OPTIONS.  OPTIONS is the method that Chrome and other browsers use to ask the server if it can ask about permissions.  Here is an example of a Web API controller thus decorated: NOTE: You’ll see a lot of references to using “*” in the header value.  For security reasons, Chrome does NOT recognize this is valid. [HttpHeader("Access-Control-Allow-Origin", "http://localhost:51234")] [HttpHeader("Access-Control-Allow-Credentials", "true")] [HttpHeader("Access-Control-Allow-Methods", "ACCEPT, PROPFIND, PROPPATCH, COPY, MOVE, DELETE, MKCOL, LOCK, UNLOCK, PUT, GETLIB, VERSION-CONTROL, CHECKIN, CHECKOUT, UNCHECKOUT, REPORT, UPDATE, CANCELUPLOAD, HEAD, OPTIONS, GET, POST")] [HttpHeader("Access-Control-Allow-Headers", "Accept, Overwrite, Destination, Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control")] [HttpHeader("Access-Control-Max-Age", "3600")] public abstract class BaseApiController : ApiController {     [HttpGet]     [HttpOptions]     public IEnumerable<foo> GetFooItems(int id)     {         return foo.AsEnumerable();     }     [HttpPost]     [HttpOptions]     public void UpdateFooItem(FooItem fooItem)     {         // NOTE: The fooItem object may or may not         // (probably NOT) be set with actual data.         // If not, you need to extract the data from         // the posted form manually.         if (fooItem.Id == 0) // However you check for default...         {             // We use NewtonSoft.Json.             string jsonString = context.Request.Form.GetValues(0)[0].ToString();             Newtonsoft.Json.JsonSerializer js = new Newtonsoft.Json.JsonSerializer();             fooItem = js.Deserialize<FooItem>(new Newtonsoft.Json.JsonTextReader(new System.IO.StringReader(jsonString)));         }         // Update the set fooItem object.     } } Please note a few specific additions here: * The header attributes at the class level are required.  Note all of those methods and headers need to be specified but we find it works this way so we aren’t touching it. * Web API will actually deserialize the posted data into the object parameter of the called method on occasion but so far we don’t know why it does and doesn’t. * [HttpOptions] is, again, required for the pre-flight check. * The “Access-Control-Allow-Origin” response header should NOT NOT NOT contain an ‘*’. 3. Headers and Methods and Such We had most of this code in place but found that Chrome and Firefox still did not render the data.  Interestingly enough, Fiddler showed that the GET calls succeeded and the JSON data is returned properly.  We learned that among the headers set at the class level, we needed to add “ACCEPT”.  Note that I accidentally added it to methods and to headers.  Adding it to methods worked but I don’t know why.  We added it to headers also for good measure. [HttpHeader("Access-Control-Allow-Methods", "ACCEPT, PROPFIND, PROPPA... [HttpHeader("Access-Control-Allow-Headers", "Accept, Overwrite, Destin... Next Steps That should do it.  If it doesn’t let us know.  What to do next?  * Don’t hardcode the allowed domains.  Note that port numbers and other domain name specifics will cause problems and must be specified.  If this changes do you really want to deploy updated software?  Consider Miguel Figueira’s approach in the following link to writing a custom HttpHeaderAttribute class that allows you to specify the domain names and then you can do it dynamically.  There are, of course, other ways to do it dynamically but this is a clean approach. http://code.msdn.microsoft.com/windowsdesktop/Implementing-CORS-support-a677ab5d

    Read the article

  • Help with fql.multiQuery

    - by Daniel Schaffer
    I'm playing around with the Facebook API's fql.multiQuery method. I'm just using the API Test Console, and trying to get a successful response but can't seem to figure out exactly what it wants. Here's the text I'm entering into the "queries" field: {"tags" : "select subject from photo_tag where subject != 601599551 and pid in ( select pid from photo_tag where subject = 601599551 ) and subject in ( select uid2 from friend where uid1 = 601599551 )", "foo" : "select uid from user where uid = 601599551"} All it'll give me is a queries parameter: array expected. error. I've also tried just about every permutation I could think of involving wrapping the name/query pairs in their own curly braces, adding brackets, adding whitespace, removing whitespace in case it didn't want an associative array (for those watching the edits, I just found out about these wonderful things now... oy), all to no avail. Is there something painfully obvious I'm missing here, or do I need to make like Chuck Norris Jon Skeet and simply will it to do my bidding? Update: A note to anyone finding this question now: The fql.multiquery test console appears to be broken. You can test your query by clicking on the generated url in the test console and manually adding the "queries" parameter into the querystring.

    Read the article

  • Problem prompting user for extended permissions using showPermissionDialog in FB page tab

    - by snipe
    I have an FBML app that will use the tab as a promo tab before the full app goes live. The purpose of the promo tab is to allow users to opt in to email notifications (using the FB API sendNotifications call), so I need to prompt them to allow the app and grant extended permissions on that promo tab. The tab code is: <?php require_once 'config.php'; ?> <form id="form1"> <h1> <a href="#" clickrewriteform="form1" clickrewriteurl="http://www.mydomain.com/fanpageajax/result.php" clickrewriteid="allowapp">Step 1. Allow the Application</a> </h1> <div id="allowapp"></div> </form> <h1><a onclick="Facebook.showPermissionDialog('email');return false;"> Step 2. Grant extended permissions (intab)</a></h1> The result.php page just tags the API to ensure the allow prompt will show up. The problem is with the Step 2. Once the user has allowed the app, and they click on the Step 2, nothing happens. If they click on it twice, THEN the extended permissions dialog box popups up, but it asks them to grant extended permissions TWICE. OR.... If the user clicks on Step 1, and allows the app, and then reloads the fan page tab, they only have to click on the Step 2 link once, and the permissions show up. Anyone have any ideas? I have been beating myself in the head over this for hours.

    Read the article

  • FBML tag to detect user language in a tab

    - by Pierre Olivier Martel
    I have a custom tab for a fan page that need to display a JPEG image. I have an image in English and one in French. Is there a way to detect the user locale in FBML to display the right image? I know how to do this server side using the Facebook fb_sig_locale param but I was planning on just using the Static FBML app which is much simpler than setting up a whole custom application.

    Read the article

  • FB Developer: How do you get emails now?

    - by Faruz
    I'm sure it has already been asked. It's just that every couple of months, facebook changes their APIs and the question becomes new... What is the current way? (I got the user to accept the extended permission thingy). The FB help, claims I have to use getInfo().contact_email which doesn't exist in the .net toolkit.

    Read the article

  • PHP open source script for a specific website

    - by Nicolas
    Hi, Does anyone of you ever heard about a PHP open source solution that would have these features: Users login/registration (ideally connect via Facebook) Upload photos Rich backend administration with different roles and views on the users and their uploaded photos Cheers, Nicolas.

    Read the article

  • Keep the session maintain of social networking sites

    - by Rana Muhammad Usman
    I want to develop an application where user will login once from his account he will integrate his social network e.g. facebook, twitter etc. And again he will not be required to login again from his social networking site like the following sites https://seesmic.com and http://hootsuite.com How I can maintain this session. I cant save the access token cz it expires after a certain time kindly tell me how it is possible...........

    Read the article

  • Authlogic RPX extended permissions

    - by tadejm
    Hi, I am working on the Facebook Connect feature for a Ruby on Rails website. I noticed that FB doesn't provide the user's email unless you demand extended permissions. I'm using the authlogic_rpx gem. Does anyone know, if it's possible, and if how, to ask the user for granting access to his email address using the authlogic_rpx gem? Thank you!

    Read the article

  • fb:live-stream won't work in Chrome

    - by marcgg
    The fb:live-stream tag won't work in Chrome when I add it to my facebook application. It works fine in Firefox. <div class="content"> <fb:live-stream event_app_id="1234" width="519" height="625"/> </div> Anyone already had this problem?

    Read the article

  • How to implement a link that can get bonus for 5 times by different people on a Social Network?

    - by Jian Lin
    How can we generate a link that can be clicked on by 5 different people on a Social Network game, so that each of the five people can get a bonus? The link will be published as a "newsfeed" on the Social Network such as Facebook. The link shouldn't be easily "generated" by any people as a cheating method. Also, what database table(s) should be added to handle: 1) the bonus can be claimed up to 5 times 2) must be claimed by different people ?

    Read the article

  • howto design an invite feature feature?

    - by fenec
    hello i am trying to implement a feature in my facebook application that would give 100 point to someone who would send 10 invitations. however i want a limit that feature for each user to use it only 10 times a day. how should i design my feature to do what i want

    Read the article

  • Create Thumbnail from url like Digg in asp.net/C#

    - by user308213
    How I can create thumbnail from url. For example: Like Digg website, when I submit a link, Digg for me chose a Thumbnail from any images on that URL. Or like Facebook, when I submit a link, I can chose a thumbnail for that link. So, how i can do that with asp.net/C#. I just want create thumbnail (not Screen Shot of web page) Thanks so much.

    Read the article

  • random quote generator in php using mysql

    - by fusion
    i coded a random quote generator in php using mysql but also jquery. however when i try to integrate it with facebook, since i opted to use fbml, i could not use jquery. how do i get the quote to display randomly in php at say, 30 mins, without using jquery or javascript?

    Read the article

  • FB connect mobile uthentication - Redirecting...

    - by Shaliko
    Hi all In our project we use FB connect authorization. For authentication via mobile phone using the link http://m.facebook.com/tos.php?api_key=2461ce...7e76&v=1.0&next=http://beta.my_servicet.net/fb_connects/new_merge&cancel=http://beta.my_servicet.net/account The user gets to FB and enter your username and password, then it should redirect to http://beta.my_servicet.net/fb_connects/new_merge But instead we see a screen with the text "Redirecting ...". Nothing else happens. My phone is iPhone.

    Read the article

  • Create Thumbnail from url like Digg

    - by user308213
    How I can create thumbnail from url. For example: Like Digg website, when I submit a link, Digg for me chose a Thumbnail from any images on that URL. Or like Facebook, when I submit a link, I can chose a thumbnail for that link. So, how i can do that with asp.net/C#. I just want create thumbnail (not Screen Shot of web page) Thanks so much.

    Read the article

  • How to redirect within a monad in Yesod?

    - by Squazic
    I'm currently using the fb package to write a Yesod app that takes data from Facebook. In my Handler, I've managed to get the first step of the authentication to work, but I need to redirect to the url that getUserAccessTokenStep1 returns, which I've defined as fbRedirUrl. I'm having trouble with all the monad wrapping and type checking to make sure I can redirect to this url. getAccessTokenR :: Handler RepHtml getAccessTokenR = do withManager $ \manager -> do FB.runFacebookT creds manager $ do fbRedirUrl <- FB.getUserAccessTokenStep1 redirUrl [] liftIO $ print fbRedirUrl

    Read the article

  • SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

    - by Vikash
    I am using Authlogic-Connect for third party logins. After running appropriate migrations, Twitter/Google/yahoo logins seem to work fine but the facebook login throws exception: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed The dev log shows OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed): app/controllers/users_controller.rb:37:in `update' Please suggest..

    Read the article

< Previous Page | 227 228 229 230 231 232 233 234 235 236 237 238  | Next Page >