• focus manu
  • NEWBIE
  • 0 Points
  • Member since 2023

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 4
    Replies

Hi all!

We're getting an API timeout when querying for a contact by phone number: "Your query request was running for too long."

It's only happening for one organization (queries for other customers of ours works fine).

Does anyone know if there query could really be taking this long or if there is some sort of firewall / whitelisting that needs to be performed by their company admin to allow access to a specific query?

Thanks,

Enlai

I have a need where I have to display Google Map in Account object. Where, the input in Address field should be pinned in the map displayed. And this has to be done with VF. Given is the code that I have used. Please help me out with this. 

<apex:page standardController="Account">
    

        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"/>

        
    <body>
        <apex:form >
            <div id="map"></div>
            <script type="text/javascript" src="https://maps.google.com/maps/api/js?key=AIzaSyBS5zY4ayE78DlkuW2qHAxyDCR2foxY0Ngsy"> 
                $ = jQuery.noConflict();
                $(document).ready(function() {
                     var myOptions = {
                        zoom: 15,
                        mapTypeId: google.maps.MapTypeId.ROADMAP,
                        mapTypeControl: false
                    }
                    
                    var map;
                    var marker;
                    
                    
                    var address = "{!Account.BillingStreet}, " + "{!Account.BillingCity}, " + "{!Account.BillingPostalCode}, " + "{!Account.BillingCountry}";
                    
                    var infowindow = new google.maps.InfoWindow({
                        content: "<b>{!Account.Name}</b><br>{!Account.BillingStreet}<br>{!Account.BillingCity}, {!Account.BillingPostalCode}<br>{!Account.BillingCountry}"
                    });
                    
                    console.log(infowindow);
                    
                    geocoder.geocode( { address: address}, function(results, status) {
                        if (status == google.maps.GeocoderStatus.OK && results.length) {
                            if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
                                
                                //create map
                                map = new google.maps.Map(document.getElementById("map"), myOptions);
                                
                                //center map
                                map.setCenter(results[0].geometry.location);
                                
                                //create marker
                                marker = new google.maps.Marker({
                                    position: results[0].geometry.location,
                                    map: map,
                                    title: "{!Account.Name}"
                                });
                                
                                //add listeners
                                google.maps.event.addListener(marker, 'click', function() {
                                    infowindow.open(map,marker);
                                });
                                google.maps.event.addListener(infowindow, 'closeclick', function() {
                                    map.setCenter(marker.getPosition()); 
                                });
                                
                            }
                            
                        } else {
                            $('#map').css({'height' : '15px'});
                            $('#map').html("Oops! {!Account.Name}'s billing address could not be found, please make sure the address is correct.");
                            resizeIframe();
                        }
                    });
                    
                    function resizeIframe() {
                        var me = window.name;
                        if (me) {
                            var iframes = parent.document.getElementsByName(me);
                            if (iframes && iframes.length == 1) {
                                height = document.body.offsetHeight;
                                iframes[0].style.height = height + "px";
                            }
                        }
                    }
                    
                });
        </script>
        
    </apex:form>
</body> 
</apex:page>
my code
 @HttpPut
     global static Id upsertUser(String Firstname,String Lastname,  String alias,String ProfileId,String Email,
                                String   TimeZoneSidKey,String LanguageLocaleKey,
                               String EmailEncodingKey,String LocaleSidKey,String UserName)
   {
      
           User updateUser = new  User();
        updateUser.Firstname = firstname;
        updateUser.Lastname = lastname;
        updateUser.Email = email;
        updateUser.Alias = alias;
        updateUser.Username = username;
        updateUser.ProfileId = ProfileId ;
        updateUser.TimeZoneSidKey = TimeZoneSidKey;
        updateUser.LanguageLocaleKey = LanguageLocaleKey;
        updateUser.EmailEncodingKey = EmailEncodingKey;
        updateUser.LocaleSidKey = LocaleSidKey;
        upsert updateUser; 
           
        return updateUser.Id;                                
        
    }      
    

Hello All.

 Here is the challenge which i need to implement and looking for a solution approach. 

I need to implement a custom VF Page Search Functionality inside Salesforce. The Data is inside Elastic Search which is a open source Search & Analytic engine. The Elastic Search is inside our Company's network. I have the API to access using JSON & I'm able to do it using a REST based tool. 

Now, Since Salesforce is outside our Company's network i need to authenticate using Ping Identity & then access Elastic Search API. 

I'm really not sure about how this authentication works since the first call will be from Salesforce everytime. Can someone please help. I'm unsure if this will be using SSL or OAuth etc.

Thanks, 

Shri.