2016-12-13 2 views
0

aloha all,Использование Linkedin API с помощью скрипта Google Apps?

Я создаю интеграцию со сценарием linkedin и google для публикации на странице компании.

Все хорошо, с точки зрения OAuth2, у меня есть маркеры, но проблема запрос тело, смотрите:

var payload = {"visibility": {"code": "anyone"},"comment": "Testing a full company share!","content": {"submitted-­url": "https://www.google.com","title": "Test Share with Content","description": "content description","submitted‐image-­url": "https://www.wired.com/wp-content/uploads/2015/09/google-logo.jpg"}}; 
var headers = {Authorization': 'Bearer ' + Service.getAccessToken()}; 
var options = {method:'post',headers:headers,payload:payload,muteHttpExceptions:true}; 
var response = UrlFetchApp.fetch("https://api.linkedin.com/v1/companies/2414183/shares?format=json", options); 

REQUES ХОРОШО, потому что я использую APIGEE ДЛЯ ИСПЫТАНИЙ MY JSON ЗАПРОСУ. Это ответ сервера:

[16-12-12 22:38:13:411 EST] { 
    "errorCode": 0, 
    "message": "Couldn't parse share document: error: Unexpected element: CDATA", 
    "requestId": "XNZ80U0LCX", 
    "status": 400, 
    "timestamp": 1481600293335 
} 

В НЕСКОЛЬКИХ ФОРУМАХ СКАЗАТЬ, ЧТО HEARDER Я Шоуде PUT:

'Content-Type': 'применение/JSON', 'х-ли-формат': 'JSON'

НО КОГДА поместить этот код на цоколе заблуждение сервера является:

[16-12-12 22:40:00:344 EST] { 
    "errorCode": 0, 
    "message": "Couldn't parse Json body: Unexpected character ('v' (code 118)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: [email protected]; line: 1, column: 2]", 
    "requestId": "YQFPJKZTMC", 
    "status": 400, 
    "timestamp": 1481600400231 
} 

СПАСИБО ВСЕМ

ответ

1

Для полезной нагрузки необходимо предоставить действительный JSON, например:

var payload = JSON.stringify(object): 

Не:

var payload = object; 

Я бы также добавить тип содержимого заголовков, установив его на application/json:

var options = { 
    'contentType': 'application/json', 
    'payload': JSON.stringify(payload) 
}; 
UrlFetchApp.fetch('https://www.example.com', options); 
0

Одно изменение ... В документах разработчика Linkedin:

Если вы решили предоставить JSON-формат тела, убедитесь, что ваш запрос HTTP включает в себя следующие заголовки:

Content-Type: application/json 
x-li-format: json 

https://developer.linkedin.com/docs/share-on-linkedin

Смежные вопросы