Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Here is a script I wrote a while back that shows how to post tweets with Geotags. This uses WebClient.</p> <p><a href="http://www.ravichaganti.com/blog/?p=979" rel="noreferrer">http://www.ravichaganti.com/blog/?p=979</a></p> <p>Pasting the code here for easy reference.</p> <pre><code>Function ByPass-Proxy { param ([string]$url) $webClient.Proxy.IsBypassed($url) } Function Get-GeoCoordinates { param ([String]$location) $baseURL = "http://maps.google.com/maps/geo?q=" $apiKey = "Your API Key" $url = $baseURL + $location + "&amp;output=xml&amp;sensor=false&amp;key=" + $apiKey $locCoords = (([xml]($WebClient.DownloadString($url))).kml.Response.Placemark.Point.coordinates) return $locCoords } Function Send-Tweet { param ([string]$Tweet,[string]$location) $geoCoord = Get-GeoCoordinates $location $long = $geoCoord.Split(",")[0] $lat = $geoCoord.Split(",")[1] $TwitURL = "http://twitter.com/statuses/update.xml" $WebClient.Credentials = $TwitCredentials #$str = [System.Text.Encoding]::UTF8.GetBytes( "status=" + $Tweet + "&amp;lat=" + $lat + "&amp;long=" + $long ) $str = "status=" + $Tweet + "&amp;lat=" + $lat + "&amp;long=" + $long [System.Net.ServicePointManager]::Expect100Continue = $false $response = $WebClient.UploadString($TwitURL,$str) $response } function Get-Credential { ## Grabbed this from http://poshcode.org/1480 [CmdletBinding(DefaultParameterSetName="Better")] PARAM( [Parameter(Position=1,Mandatory=$false)] [Alias("Credential")] [PSObject]$UserName=$null, [Parameter(Position=2,Mandatory=$false)] [string]$Title=$null, [Parameter(Position=3,Mandatory=$false)] [string]$Message=$null, [Parameter(Position=4,Mandatory=$false)] [string]$Domain=$null, [Parameter(Mandatory=$false)] [switch]$GenericCredentials, [Parameter(Mandatory=$false)] [switch]$Inline ) PROCESS { if( $UserName -is [System.Management.Automation.PSCredential]) { return $UserName } elseif($UserName -ne $null) { $UserName = $UserName.ToString() } if($Inline) { if($Title) { Write-Host $Title } if($Message) { Write-Host $Message } if($Domain) { if($UserName -and $UserName -notmatch "[@\\]") { $UserName = "${Domain}\${UserName}" } } if(!$UserName) { $UserName = Read-Host "User" if(($Domain -OR !$GenericCredentials) -and $UserName -notmatch "[@\\]") { $UserName = "${Domain}\${UserName}" } } return New-Object System.Management.Automation.PSCredential $UserName,$(Read-Host "Password for user $UserName" -AsSecureString) } if($GenericCredentials) { $Credential = "Generic" } else { $Credential = "Domain" } ## Now call the Host.UI method ... if they don't have one, we'll die, yay. ## BugBug? PowerShell.exe disregards the last parameter $Host.UI.PromptForCredential($Title, $Message, $UserName, $Domain, $Credential,"Default") } } $global:webClient = New-Object System.Net.WebClient $global:TwitCredentials = Get-Credential -title "Twitter Credentials" -message "Please enter your Twitter username/password" If (!(ByPass-Proxy "http://www.twitter.com")) { $global:Webclient.proxy.Credentials = Get-Credential -title "Proxy Credentials" -message "Please enter username/password for Proxy authentication" } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload