SQL Server
SQL Server
Iterate Pages in Feed
See more Facebook Examples
Demonstrates how to read the next page in the user's Facebook feed, and iterates through all of the pages in the Facebook feed.Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
-- This example assumes a previously obtained an access token
DECLARE @oauth2 int
EXEC @hr = sp_OACreate 'Chilkat.OAuth2', @oauth2 OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OASetProperty @oauth2, 'AccessToken', 'FACEBOOK-ACCESS-TOKEN'
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT
-- Connect to Facebook and send the following GET request:
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'graph.facebook.com', 443, 1, 1
IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @rest
RETURN
END
-- Provide the authentication credentials (i.e. the access key)
EXEC sp_OAMethod @rest, 'SetAuthOAuth2', @success OUT, @oauth2
-- Gets the 1st page in the user's feed.
DECLARE @responseJson nvarchar(4000)
EXEC sp_OAMethod @rest, 'FullRequestNoBody', @responseJson OUT, 'GET', '/v2.7/me/feed'
EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @rest
RETURN
END
DECLARE @json int
EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT
EXEC sp_OASetProperty @json, 'EmitCompact', 0
EXEC sp_OAMethod @json, 'Load', @success OUT, @responseJson
--
-- See Parsing the Facebook User Feed for code showing how to parse the JSON feed content.
--
DECLARE @nextUrl int
EXEC @hr = sp_OACreate 'Chilkat.Url', @nextUrl OUT
-- Get the URL for the next page in the feed.
DECLARE @nextUrlStr nvarchar(4000)
EXEC sp_OAMethod @json, 'StringOf', @nextUrlStr OUT, 'paging.next'
EXEC sp_OAGetProperty @json, 'LastMethodSuccess', @iTmp0 OUT
WHILE @iTmp0 = 1
BEGIN
PRINT 'Next page URL: ' + @nextUrlStr
EXEC sp_OAMethod @nextUrl, 'ParseUrl', @success OUT, @nextUrlStr
-- Prepare for getting the next page in the feed.
-- We can continue using the same REST object.
-- If already connected, we'll continue using the existing connection.
-- Otherwise, a new connection will automatically be made if needed.
EXEC sp_OAMethod @rest, 'ClearAllQueryParams', @success OUT
EXEC sp_OAGetProperty @nextUrl, 'Query', @sTmp0 OUT
EXEC sp_OAMethod @rest, 'AddQueryParams', @success OUT, @sTmp0
EXEC sp_OAMethod @rest, 'FullRequestNoBody', @responseJson OUT, 'GET', '/v2.7/me/feed'
EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @nextUrl
RETURN
END
EXEC sp_OAMethod @json, 'Load', @success OUT, @responseJson
-- See Parsing the Facebook User Feed for code showing how to parse the JSON feed content.
-- Get the URL for the next page.
EXEC sp_OAMethod @json, 'StringOf', @nextUrlStr OUT, 'paging.next'
END
PRINT 'No more pages in the feed.'
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @nextUrl
END
GO